diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-06-16 22:06:09 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:09:09 -0500 |
commit | 582d46ec42144bddccddacadd52a0256f58cb453 (patch) | |
tree | 0545454b21f1ef986117f7c2e72fe957d2b662e2 /source4/torture/smbtorture.c | |
parent | cc9d70bbba4e326ba89dec8cdc58b64b89f33091 (diff) | |
download | samba-582d46ec42144bddccddacadd52a0256f58cb453.tar.gz samba-582d46ec42144bddccddacadd52a0256f58cb453.tar.bz2 samba-582d46ec42144bddccddacadd52a0256f58cb453.zip |
r16304: Improve testing UI API. This now allows registering the full
test suite tree, looks a bit more like other unit testing API's,
fixes some memory responsibility issues, introduces testcases,
and removes the need for tests to call torture_ok().
(This used to be commit 0445b1a56a02552f895f400960b9ced39244a144)
Diffstat (limited to 'source4/torture/smbtorture.c')
-rw-r--r-- | source4/torture/smbtorture.c | 61 |
1 files changed, 39 insertions, 22 deletions
diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c index c2c76d25c3..bdd7f0ed84 100644 --- a/source4/torture/smbtorture.c +++ b/source4/torture/smbtorture.c @@ -233,12 +233,22 @@ static void max_runtime_handler(int sig) exit(1); } -static void simple_test_start (struct torture_test *test) +static void simple_tcase_start (struct torture_context *ctx, + struct torture_tcase *tcase, + struct torture_test *test) { - printf("Testing %s...\n", test->name); + printf("Testing %s...\n", tcase->name); } -static void simple_test_result (struct torture_test *test, enum torture_result res, const char *reason) +static void simple_test_start (struct torture_context *ctx, + struct torture_tcase *tcase, + struct torture_test *test) +{ + printf("Testing %s/%s...\n", tcase->name, test->name); +} + +static void simple_test_result (struct torture_context *context, + enum torture_result res, const char *reason) { switch (res) { case TORTURE_OK: @@ -246,19 +256,19 @@ static void simple_test_result (struct torture_test *test, enum torture_result r printf("OK: %s\n", reason); break; case TORTURE_FAIL: - printf("ERROR: %s - %s\n", test->name, reason); + printf("ERROR: %s - %s\n", context->active_test->name, reason); break; case TORTURE_TODO: - printf("TODO: %s - %s\n", test->name, reason); + printf("TODO: %s - %s\n", context->active_test->name, reason); break; case TORTURE_SKIP: - printf("SKIP: %s - %s\n", test->name, reason); + printf("SKIP: %s - %s\n", context->active_test->name, reason); break; } } -static void simple_comment (struct torture_test *test, const char *comment) +static void simple_comment (struct torture_context *test, const char *comment) { printf("# %s\n", comment); } @@ -266,34 +276,38 @@ static void simple_comment (struct torture_test *test, const char *comment) const static struct torture_ui_ops std_ui_ops = { .comment = simple_comment, .test_start = simple_test_start, + .tcase_start = simple_tcase_start, .test_result = simple_test_result }; -static void subunit_test_start (struct torture_test *test) +static void subunit_test_start (struct torture_context *ctx, + struct torture_tcase *tcase, + struct torture_test *test) { printf("test: %s\n", test->name); } -static void subunit_test_result (struct torture_test *test, enum torture_result res, const char *reason) +static void subunit_test_result (struct torture_context *context, + enum torture_result res, const char *reason) { switch (res) { case TORTURE_OK: - printf("success: %s\n", test->name); + printf("success: %s\n", context->active_test->name); break; case TORTURE_FAIL: - printf("failure: %s [ %s ]\n", test->name, reason); + printf("failure: %s [ %s ]\n", context->active_test->name, reason); break; case TORTURE_TODO: - printf("todo: %s\n", test->name); + printf("todo: %s\n", context->active_test->name); break; case TORTURE_SKIP: - printf("skip: %s\n", test->name); + printf("skip: %s\n", context->active_test->name); break; } } -static void subunit_comment (struct torture_test *test, const char *comment) +static void subunit_comment (struct torture_context *test, const char *comment) { printf("# %s\n", comment); } @@ -304,29 +318,32 @@ const static struct torture_ui_ops subunit_ui_ops = { .test_result = subunit_test_result }; -static void harness_test_start (struct torture_test *test) +static void harness_test_start (struct torture_context *ctx, + struct torture_tcase *tcase, + struct torture_test *test) { } -static void harness_test_result (struct torture_test *test, enum torture_result res, const char *reason) +static void harness_test_result (struct torture_context *context, + enum torture_result res, const char *reason) { switch (res) { case TORTURE_OK: - printf("ok %s - %s\n", test->name, reason); + printf("ok %s - %s\n", context->active_test->name, reason); break; case TORTURE_FAIL: - printf("not ok %s - %s\n", test->name, reason); + printf("not ok %s - %s\n", context->active_test->name, reason); break; case TORTURE_TODO: - printf("todo %s - %s\n", test->name, reason); + printf("todo %s - %s\n", context->active_test->name, reason); break; case TORTURE_SKIP: - printf("skip %s - %s\n", test->name, reason); + printf("skip %s - %s\n", context->active_test->name, reason); break; } } -static void harness_comment (struct torture_test *test, const char *comment) +static void harness_comment (struct torture_context *test, const char *comment) { printf("# %s\n", comment); } @@ -350,7 +367,7 @@ const static struct torture_ui_ops harness_ui_ops = { struct torture_context *torture; char **argv_new; poptContext pc; - static char *ui_ops_name = "simple"; + static const char *ui_ops_name = "simple"; enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS, OPT_DANGEROUS,OPT_SMB_PORTS,OPT_ASYNC}; |