From 72251a1b7a3b999c2588fa64b7c12973bd819c2b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 23 May 2008 16:19:00 +0200 Subject: Include test case name when reporting with subunit. This should make it possible to having a test fail against some test cases and success against other ones. (This used to be commit 0af138a85bba21a5009967e2610c898615fb536b) --- source4/torture/smbtorture.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c index 418f933993..44daa89e44 100644 --- a/source4/torture/smbtorture.c +++ b/source4/torture/smbtorture.c @@ -2,7 +2,7 @@ Unix SMB/CIFS implementation. SMB torture tester Copyright (C) Andrew Tridgell 1997-2003 - Copyright (C) Jelmer Vernooij 2006 + Copyright (C) Jelmer Vernooij 2006-2008 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -375,11 +375,24 @@ static void subunit_suite_start(struct torture_context *ctx, { } +static void subunit_print_testname(struct torture_context *ctx, + struct torture_tcase *tcase, + struct torture_test *test) +{ + if (!strcmp(tcase->name, test->name)) { + printf("%s", test->name); + } else { + printf("%s.%s", tcase->name, test->name); + } +} + static void subunit_test_start(struct torture_context *ctx, struct torture_tcase *tcase, struct torture_test *test) { - printf("test: %s\n", test->name); + printf("test: "); + subunit_print_testname(ctx, tcase, test); + printf("\n"); } static void subunit_test_result(struct torture_context *context, @@ -387,18 +400,20 @@ static void subunit_test_result(struct torture_context *context, { switch (res) { case TORTURE_OK: - printf("success: %s", context->active_test->name); + printf("success: "); break; case TORTURE_FAIL: - printf("failure: %s", context->active_test->name); + printf("failure: "); break; case TORTURE_ERROR: - printf("error: %s", context->active_test->name); + printf("error: "); break; case TORTURE_SKIP: - printf("skip: %s", context->active_test->name); + printf("skip: "); break; } + subunit_print_testname(context, context->active_tcase, context->active_test); + if (reason) printf(" [\n%s\n]", reason); printf("\n"); -- cgit