svn commit: samba r24900 - in branches/SAMBA_4_0/source/torture/rpc: .

metze at samba.org metze at samba.org
Sun Sep 2 17:27:41 GMT 2007


Author: metze
Date: 2007-09-02 17:27:40 +0000 (Sun, 02 Sep 2007)
New Revision: 24900

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24900

Log:
- if we use try to create a 3rd dcerpc_pipe then use a 3rd variable
  instead of overwritting the one of the 2nd connection
- make it possible to specify the expected ntstatus for
  DsRoleGetPrimaryDomainInformation as the alter_context
  wants it to fail when used on the wrong pipe

metze
Modified:
   branches/SAMBA_4_0/source/torture/rpc/alter_context.c
   branches/SAMBA_4_0/source/torture/rpc/dssetup.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/alter_context.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/alter_context.c	2007-09-02 17:13:56 UTC (rev 24899)
+++ branches/SAMBA_4_0/source/torture/rpc/alter_context.c	2007-09-02 17:27:40 UTC (rev 24900)
@@ -28,8 +28,8 @@
 
 bool torture_rpc_alter_context(struct torture_context *torture)
 {
-        NTSTATUS status;
-        struct dcerpc_pipe *p, *p2;
+	NTSTATUS status;
+	struct dcerpc_pipe *p, *p2, *p3;
 	struct policy_handle *handle;
 	struct ndr_interface_table tmptbl;
 	struct ndr_syntax_id syntax;
@@ -51,7 +51,7 @@
 	tmptbl = ndr_table_dssetup;
 	tmptbl.syntax_id.if_version += 100;
 	torture_comment(torture, "Opening bad secondary connection\n");
-	status = dcerpc_secondary_context(p, &p2, &tmptbl);
+	status = dcerpc_secondary_context(p, &p3, &tmptbl);
 	torture_assert_ntstatus_equal(torture, status, NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX,
 				      "dcerpc_alter_context with wrong version should fail");
 
@@ -59,9 +59,7 @@
 	ret &= test_DsRoleGetPrimaryDomainInformation(torture, p2);
 
 	if (handle) {
-		if (!test_lsa_Close(p, torture, handle)) {
-			ret = false;
-		}
+		ret &= test_lsa_Close(p, torture, handle);
 	}
 
 	syntax = p->syntax;
@@ -72,18 +70,12 @@
 	torture_assert_ntstatus_ok(torture, status, "dcerpc_alter_context failed");
 
 	torture_comment(torture, "testing DSSETUP pipe operations - should fault\n");
-	if (test_DsRoleGetPrimaryDomainInformation(torture, p)) {
-		ret = false;
-	}
+	ret &= test_DsRoleGetPrimaryDomainInformation_ext(torture, p, NT_STATUS_NET_WRITE_FAULT);
 
-	if (!test_lsa_OpenPolicy2(p, torture, &handle)) {
-		ret = false;
-	}
+	ret &= test_lsa_OpenPolicy2(p, torture, &handle);
 
 	if (handle) {
-		if (!test_lsa_Close(p, torture, handle)) {
-			ret = false;
-		}
+		ret &= test_lsa_Close(p, torture, handle);
 	}
 
 	torture_comment(torture, "testing DSSETUP pipe operations\n");

Modified: branches/SAMBA_4_0/source/torture/rpc/dssetup.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/dssetup.c	2007-09-02 17:13:56 UTC (rev 24899)
+++ branches/SAMBA_4_0/source/torture/rpc/dssetup.c	2007-09-02 17:27:40 UTC (rev 24900)
@@ -25,8 +25,9 @@
 #include "torture/rpc/rpc.h"
 
 
-bool test_DsRoleGetPrimaryDomainInformation(struct torture_context *tctx, 
-					    struct dcerpc_pipe *p)
+bool test_DsRoleGetPrimaryDomainInformation_ext(struct torture_context *tctx, 
+						struct dcerpc_pipe *p,
+						NTSTATUS ext_status)
 {
 	struct dssetup_DsRoleGetPrimaryDomainInformation r;
 	NTSTATUS status;
@@ -37,13 +38,21 @@
 		torture_comment(tctx, "dcerpc_dssetup_DsRoleGetPrimaryDomainInformation level %d\n", i);
 
 		status = dcerpc_dssetup_DsRoleGetPrimaryDomainInformation(p, tctx, &r);
-		torture_assert_ntstatus_ok(tctx, status, "DsRoleGetPrimaryDomainInformation failed");
-		torture_assert_werr_ok(tctx, r.out.result, "DsRoleGetPrimaryDomainInformation failed");
+		torture_assert_ntstatus_equal(tctx, ext_status, status, "DsRoleGetPrimaryDomainInformation failed");
+		if (NT_STATUS_IS_OK(ext_status)) {
+			torture_assert_werr_ok(tctx, r.out.result, "DsRoleGetPrimaryDomainInformation failed");
+		}
 	}
 
 	return true;
 }
 
+bool test_DsRoleGetPrimaryDomainInformation(struct torture_context *tctx, 
+					    struct dcerpc_pipe *p)
+{
+	return test_DsRoleGetPrimaryDomainInformation_ext(tctx, p, NT_STATUS_OK);
+}
+
 struct torture_suite *torture_rpc_dssetup(TALLOC_CTX *mem_ctx)
 {
 	struct torture_suite *suite = torture_suite_create(mem_ctx, "DSSETUP");



More information about the samba-cvs mailing list