From a12b8571fe3da55968715a4c36dd9ea77f13b335 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 4 Jun 2009 18:12:59 +1000 Subject: 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 --- source4/torture/rpc/samr.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'source4') 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)); -- cgit