diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-10-16 13:06:41 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:21:12 -0500 |
commit | 8773e743c518578584d07d35ffdafdd598af88b0 (patch) | |
tree | 89726232dd6ae9eca1c219e21729a9b2336ddaa9 /source4/torture/local/idtree.c | |
parent | 0f2347e417dec4a50f95d64353b260cd53a44a2b (diff) | |
download | samba-8773e743c518578584d07d35ffdafdd598af88b0.tar.gz samba-8773e743c518578584d07d35ffdafdd598af88b0.tar.bz2 samba-8773e743c518578584d07d35ffdafdd598af88b0.zip |
r19339: Merge my 4.0-unittest branch. This adds an API for more fine-grained
output in the testsuite rather than just True or False for a
set of tests.
The aim is to use this for:
* known failure lists (run all tests and detect tests that
started working or started failing). This
would allow us to get rid of the RPC-SAMBA3-* tests
* nicer torture output
* simplification of the testsuite system
* compatibility with other unit testing systems
* easier usage of smbtorture (being able to run one test
and automatically set up the environment for that)
This is still a work-in-progress; expect more updates over the next couple of
days.
(This used to be commit 0eb6097305776325c75081356309115f445a7218)
Diffstat (limited to 'source4/torture/local/idtree.c')
-rw-r--r-- | source4/torture/local/idtree.c | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/source4/torture/local/idtree.c b/source4/torture/local/idtree.c index 1d317dbce3..dd8618d0db 100644 --- a/source4/torture/local/idtree.c +++ b/source4/torture/local/idtree.c @@ -23,8 +23,7 @@ #include "includes.h" #include "torture/torture.h" -static BOOL torture_local_idtree_simple(struct torture_context *test, - const void *_data) +static bool torture_local_idtree_simple(struct torture_context *tctx) { struct idr_context *idr; int i; @@ -32,11 +31,12 @@ static BOOL torture_local_idtree_simple(struct torture_context *test, int *present; extern int torture_numops; int n = torture_numops; + TALLOC_CTX *mem_ctx = tctx; - idr = idr_init(test); + idr = idr_init(mem_ctx); - ids = talloc_zero_array(test, int, n); - present = talloc_zero_array(test, int, n); + ids = talloc_zero_array(mem_ctx, int, n); + present = talloc_zero_array(mem_ctx, int, n); for (i=0;i<n;i++) { ids[i] = -1; @@ -47,28 +47,32 @@ static BOOL torture_local_idtree_simple(struct torture_context *test, void *p = idr_find(idr, ids[ii]); if (present[ii]) { if (p != &ids[ii]) { - torture_fail(test, "wrong ptr at %d - %p should be %p", - ii, p, &ids[ii]); + torture_fail(tctx, talloc_asprintf(tctx, + "wrong ptr at %d - %p should be %p", + ii, p, &ids[ii])); } if (random() % 7 == 0) { if (idr_remove(idr, ids[ii]) != 0) { - torture_fail(test, "remove failed at %d (id=%d)", - i, ids[ii]); + torture_fail(tctx, talloc_asprintf(tctx, + "remove failed at %d (id=%d)", + i, ids[ii])); } present[ii] = 0; ids[ii] = -1; } } else { if (p != NULL) { - torture_fail(test, "non-present at %d gave %p (would be %d)", + torture_fail(tctx, talloc_asprintf(tctx, + "non-present at %d gave %p (would be %d)", ii, p, - (int)(((char *)p) - (char *)(&ids[0])) / sizeof(int)); + (int)(((char *)p) - (char *)(&ids[0])) / sizeof(int))); } if (random() % 5) { ids[ii] = idr_get_new(idr, &ids[ii], n); if (ids[ii] < 0) { - torture_fail(test, "alloc failure at %d (ret=%d)", - ii, ids[ii]); + torture_fail(tctx, talloc_asprintf(tctx, + "alloc failure at %d (ret=%d)", + ii, ids[ii])); } else { present[ii] = 1; } @@ -76,26 +80,25 @@ static BOOL torture_local_idtree_simple(struct torture_context *test, } } - torture_comment(test, "done %d random ops", i); + torture_comment(tctx, "done %d random ops\n", i); for (i=0;i<n;i++) { if (present[i]) { if (idr_remove(idr, ids[i]) != 0) { - torture_fail(test, "delete failed on cleanup at %d (id=%d)", - i, ids[i]); + torture_fail(tctx, talloc_asprintf(tctx, + "delete failed on cleanup at %d (id=%d)", + i, ids[i])); } } } - torture_comment(test, "cleaned up"); - - return True; + torture_comment(tctx, "cleaned up\n"); + return true; } struct torture_suite *torture_local_idtree(TALLOC_CTX *mem_ctx) { - struct torture_suite *suite = torture_suite_create(mem_ctx, "LOCAL-IDTREE"); - torture_suite_add_simple_tcase(suite, "idtree", torture_local_idtree_simple, - NULL); + struct torture_suite *suite = torture_suite_create(mem_ctx, "IDTREE"); + torture_suite_add_simple_test(suite, "idtree", torture_local_idtree_simple); return suite; } |