summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2008-09-23 14:30:06 -0400
committerSimo Sorce <idra@samba.org>2008-09-23 18:17:46 -0400
commit508527890adc7bedd47522a7dae0c96d2b2e4bae (patch)
tree77e510421ff8eb98c0a9b0836905ca2f67eaf42f /source4/torture
parentd275cc762dad1985045d381ca211e92234d9d77d (diff)
downloadsamba-508527890adc7bedd47522a7dae0c96d2b2e4bae.tar.gz
samba-508527890adc7bedd47522a7dae0c96d2b2e4bae.tar.bz2
samba-508527890adc7bedd47522a7dae0c96d2b2e4bae.zip
Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/ldap/schema.c4
-rw-r--r--source4/torture/ldap/uptodatevector.c10
-rw-r--r--source4/torture/local/dbspeed.c7
3 files changed, 8 insertions, 13 deletions
diff --git a/source4/torture/ldap/schema.c b/source4/torture/ldap/schema.c
index 8437e7f79d..dd1d2de331 100644
--- a/source4/torture/ldap/schema.c
+++ b/source4/torture/ldap/schema.c
@@ -57,8 +57,8 @@ static bool test_search_rootDSE(struct ldb_context *ldb, struct test_rootDSE *ro
d_printf("Testing RootDSE Search\n");
- ret = ldb_search(ldb, ldb_dn_new(ldb, ldb, NULL), LDB_SCOPE_BASE,
- NULL, NULL, &r);
+ ret = ldb_search(ldb, ldb, &r, ldb_dn_new(ldb, ldb, NULL),
+ LDB_SCOPE_BASE, NULL, NULL);
if (ret != LDB_SUCCESS) {
return false;
} else if (r->count != 1) {
diff --git a/source4/torture/ldap/uptodatevector.c b/source4/torture/ldap/uptodatevector.c
index 87b7e09e13..3c491dca05 100644
--- a/source4/torture/ldap/uptodatevector.c
+++ b/source4/torture/ldap/uptodatevector.c
@@ -57,15 +57,14 @@ static bool test_check_uptodatevector(struct torture_context *torture,
torture_comment(torture, "Check replUpToDateVector on partition[%s]\n",
ldb_dn_get_linearized(partition_dn));
- ret = ldb_search(ldb, partition_dn, LDB_SCOPE_BASE,
- "(objectClass=*)", attrs, &r);
+ ret = ldb_search(ldb, torture, &r, partition_dn, LDB_SCOPE_BASE, attrs,
+ "(objectClass=*)");
if (ret != LDB_SUCCESS) {
return false;
} else if (r->count != 1) {
talloc_free(r);
return false;
}
- talloc_steal(torture, r);
ZERO_STRUCT(utdv1);
utdv_val1 = ldb_msg_find_ldb_val(r->msgs[0], "replUpToDateVector");
@@ -104,15 +103,14 @@ static bool test_check_uptodatevector(struct torture_context *torture,
ret = ldb_modify(ldb, msg);
if (ret != LDB_SUCCESS) return false;
- ret = ldb_search(ldb, partition_dn, LDB_SCOPE_BASE,
- "(objectClass=*)", attrs, &r);
+ ret = ldb_search(ldb, msg, &r, partition_dn, LDB_SCOPE_BASE,
+ attrs, "(objectClass=*)");
if (ret != LDB_SUCCESS) {
return false;
} else if (r->count != 1) {
talloc_free(r);
return false;
}
- talloc_steal(msg, r);
ZERO_STRUCT(utdv);
utdv_val = ldb_msg_find_ldb_val(r->msgs[0], "replUpToDateVector");
diff --git a/source4/torture/local/dbspeed.c b/source4/torture/local/dbspeed.c
index 3d449a5991..9547e9ff74 100644
--- a/source4/torture/local/dbspeed.c
+++ b/source4/torture/local/dbspeed.c
@@ -211,21 +211,18 @@ static bool test_ldb_speed(struct torture_context *torture, const void *_data)
for (count=0;timeval_elapsed(&tv) < timelimit;count++) {
struct ldb_dn *dn;
struct ldb_result *res;
- char *expr;
i = random() % torture_entries;
dn = ldb_dn_new_fmt(tmp_ctx, ldb, "SID=S-1-5-21-53173311-3623041448-2049097239-%u", i);
- if (ldb_search(ldb, dn, LDB_SCOPE_BASE, NULL, NULL, &res) != LDB_SUCCESS || res->count != 1) {
+ if (ldb_search(ldb, tmp_ctx, &res, dn, LDB_SCOPE_BASE, NULL, NULL) != LDB_SUCCESS || res->count != 1) {
torture_fail(torture, talloc_asprintf(torture, "Failed to find SID %d", i));
}
talloc_free(res);
talloc_free(dn);
- expr = talloc_asprintf(tmp_ctx, "(UID=%u)", i);
- if (ldb_search(ldb, NULL, LDB_SCOPE_SUBTREE, expr, NULL, &res) != LDB_SUCCESS || res->count != 1) {
+ if (ldb_search(ldb, tmp_ctx, &res, NULL, LDB_SCOPE_SUBTREE, NULL, "(UID=%u)", i) != LDB_SUCCESS || res->count != 1) {
torture_fail(torture, talloc_asprintf(torture, "Failed to find UID %d", i));
}
talloc_free(res);
- talloc_free(expr);
}
if (talloc_total_blocks(torture) > 100) {