summaryrefslogtreecommitdiff
path: root/source4/torture/local/idtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture/local/idtree.c')
-rw-r--r--source4/torture/local/idtree.c47
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;
}