summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2009-06-04 18:12:59 +1000
committerAndrew Bartlett <abartlet@samba.org>2009-06-04 18:12:59 +1000
commita12b8571fe3da55968715a4c36dd9ea77f13b335 (patch)
tree0fc744f1ff74fc934bff3dcbe222d52fb4fe9f81
parent44f762c30d1aa709146f80da5fb786201df7e668 (diff)
downloadsamba-a12b8571fe3da55968715a4c36dd9ea77f13b335.tar.gz
samba-a12b8571fe3da55968715a4c36dd9ea77f13b335.tar.bz2
samba-a12b8571fe3da55968715a4c36dd9ea77f13b335.zip
s4:torture Cut the RPC-SAMR-LARGE-DC test down to size
This removes the validation of the estimated number of accounts, because MS-SAMR 3.1.5.5.1.1 makes clear the number returned cannot be relied apon. I've also converted a bit more of the test to use torture_assert(), and where that is impractical, to print error messages when things fail. Andrew Bartlett
-rw-r--r--source4/torture/rpc/samr.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index 94c646a91c..2e78c65784 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -6060,7 +6060,7 @@ static bool test_EnumDomainUsers(struct dcerpc_pipe *p,
struct samr_SamArray *sam;
r.in.domain_handle = domain_handle;
- r.in.acct_flags = ACB_NORMAL;
+ r.in.acct_flags = 0;
r.in.max_size = (uint32_t)-1;
r.in.resume_handle = &resume_handle;
@@ -6296,8 +6296,11 @@ static bool test_ManyObjects(struct dcerpc_pipe *p,
torture_assert_int_equal(tctx, num_disp, num_anounced + num_created,
"unexpected number of results returned in dispinfo call");
#endif
- torture_assert_int_equal(tctx, num_enum, num_anounced + num_created,
- "unexpected number of results returned in enum call");
+ if (which_ops == TORTURE_SAMR_MANY_ACCOUNTS && num_enum != num_anounced + num_created) {
+ torture_comment(tctx,
+ "unexpected number of results (%u) returned in enum call, expected %u",
+ num_enum != num_anounced + num_created);
+ }
return ret;
}
@@ -6334,7 +6337,7 @@ static bool test_OpenDomain(struct dcerpc_pipe *p, struct torture_context *tctx,
/* run the domain tests with the main handle closed - this tests
the servers reference counting */
- ret &= test_samr_handle_Close(p, tctx, handle);
+ torture_assert(tctx, test_samr_handle_Close(p, tctx, handle), "Failed to close SAMR handle");
switch (which_ops) {
case TORTURE_SAMR_PASSWORDS:
@@ -6343,6 +6346,9 @@ static bool test_OpenDomain(struct dcerpc_pipe *p, struct torture_context *tctx,
ret &= test_CreateUser2(p, tctx, &domain_handle, sid, which_ops, NULL);
}
ret &= test_CreateUser(p, tctx, &domain_handle, TEST_ACCOUNT_NAME, &user_handle, sid, which_ops, NULL, true);
+ if (!ret) {
+ printf("Testing PASSWORDS or PRIVILAGES on domain %s failed!\n", dom_sid_string(tctx, sid));
+ }
break;
case TORTURE_SAMR_USER_ATTRIBUTES:
if (!torture_setting_bool(tctx, "samba3", false)) {
@@ -6352,7 +6358,7 @@ static bool test_OpenDomain(struct dcerpc_pipe *p, struct torture_context *tctx,
/* This test needs 'complex' users to validate */
ret &= test_QueryDisplayInfo(p, tctx, &domain_handle);
if (!ret) {
- printf("Testing PASSWORDS or ATTRIBUTES on domain %s failed!\n", dom_sid_string(tctx, sid));
+ printf("Testing ATTRIBUTES on domain %s failed!\n", dom_sid_string(tctx, sid));
}
break;
case TORTURE_SAMR_PASSWORDS_PWDLASTSET:
@@ -6368,6 +6374,9 @@ static bool test_OpenDomain(struct dcerpc_pipe *p, struct torture_context *tctx,
case TORTURE_SAMR_MANY_GROUPS:
case TORTURE_SAMR_MANY_ALIASES:
ret &= test_ManyObjects(p, tctx, &domain_handle, sid, which_ops);
+ if (!ret) {
+ printf("Testing MANY-{ACCOUNTS,GROUPS,ALIASES} on domain %s failed!\n", dom_sid_string(tctx, sid));
+ }
break;
case TORTURE_SAMR_OTHER:
ret &= test_CreateUser(p, tctx, &domain_handle, TEST_ACCOUNT_NAME, &user_handle, sid, which_ops, NULL, true);
@@ -6421,10 +6430,10 @@ static bool test_OpenDomain(struct dcerpc_pipe *p, struct torture_context *tctx,
ret = false;
}
- ret &= test_samr_handle_Close(p, tctx, &domain_handle);
+ torture_assert(tctx, test_samr_handle_Close(p, tctx, &domain_handle), "Failed to close SAMR domain handle");
+ torture_assert(tctx, test_Connect(p, tctx, handle), "Faile to re-connect SAMR handle");
/* reconnect the main handle */
- ret &= test_Connect(p, tctx, handle);
if (!ret) {
printf("Testing domain %s failed!\n", dom_sid_string(tctx, sid));