[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Wed Apr 7 03:41:09 MDT 2010


The branch, master has been updated
       via  4712940... s4-smbtorture: merge badname spoolss openprinter tests.
       via  8bb30ff... s4-smbtorture: avoid passing down a full test_spoolss_context to directory spoolss tests when not used.
      from  3d113a6... Ensure we total up the correct number of creds requested in a compound request.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4712940e7cbd0d05a30b548d23e96a4d0b741e78
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 7 00:39:17 2010 +0200

    s4-smbtorture: merge badname spoolss openprinter tests.
    
    Guenther

commit 8bb30ffcf619e4e799ba38df41f0479fb70980c9
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 7 00:38:02 2010 +0200

    s4-smbtorture: avoid passing down a full test_spoolss_context to directory
    spoolss tests when not used.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source4/torture/rpc/spoolss.c |   80 ++++++++++++++++++++++++++---------------
 1 files changed, 51 insertions(+), 29 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index c109a7a..4cc0e84 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -311,7 +311,6 @@ static bool test_EnumPorts(struct torture_context *tctx,
 
 static bool test_GetPrintProcessorDirectory(struct torture_context *tctx,
 					    struct dcerpc_pipe *p,
-					    struct test_spoolss_context *ctx,
 					    const char *environment)
 {
 	NTSTATUS status;
@@ -331,10 +330,10 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx,
 			.server	= ""
 		},{
 			.level	= 1,
-			.server	= talloc_asprintf(ctx, "\\\\%s", dcerpc_server_name(p))
+			.server	= talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p))
 		},{
 			.level	= 1024,
-			.server	= talloc_asprintf(ctx, "\\\\%s", dcerpc_server_name(p))
+			.server	= talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p))
 		}
 	};
 	int i;
@@ -353,18 +352,18 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx,
 
 		torture_comment(tctx, "Testing GetPrintProcessorDirectory level %u\n", r.in.level);
 
-		status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, ctx, &r);
+		status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status,
 			"dcerpc_spoolss_GetPrintProcessorDirectory failed");
 		torture_assert_werr_equal(tctx, r.out.result, WERR_INSUFFICIENT_BUFFER,
 			"GetPrintProcessorDirectory unexpected return code");
 
-		blob = data_blob_talloc(ctx, NULL, needed);
+		blob = data_blob_talloc(tctx, NULL, needed);
 		data_blob_clear(&blob);
 		r.in.buffer = &blob;
 		r.in.offered = needed;
 
-		status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, ctx, &r);
+		status = dcerpc_spoolss_GetPrintProcessorDirectory_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status, "dcerpc_spoolss_GetPrintProcessorDirectory failed");
 
 		torture_assert_werr_ok(tctx, r.out.result, "GetPrintProcessorDirectory failed");
@@ -378,7 +377,6 @@ static bool test_GetPrintProcessorDirectory(struct torture_context *tctx,
 
 static bool test_GetPrinterDriverDirectory(struct torture_context *tctx,
 					   struct dcerpc_pipe *p,
-					   struct test_spoolss_context *ctx,
 					   const char *environment)
 {
 	NTSTATUS status;
@@ -398,10 +396,10 @@ static bool test_GetPrinterDriverDirectory(struct torture_context *tctx,
 			.server	= ""
 		},{
 			.level	= 1,
-			.server	= talloc_asprintf(ctx, "\\\\%s", dcerpc_server_name(p))
+			.server	= talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p))
 		},{
 			.level	= 1024,
-			.server	= talloc_asprintf(ctx, "\\\\%s", dcerpc_server_name(p))
+			.server	= talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p))
 		}
 	};
 	int i;
@@ -420,18 +418,18 @@ static bool test_GetPrinterDriverDirectory(struct torture_context *tctx,
 
 		torture_comment(tctx, "Testing GetPrinterDriverDirectory level %u\n", r.in.level);
 
-		status = dcerpc_spoolss_GetPrinterDriverDirectory_r(b, ctx, &r);
+		status = dcerpc_spoolss_GetPrinterDriverDirectory_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status,
 			"dcerpc_spoolss_GetPrinterDriverDirectory failed");
 		torture_assert_werr_equal(tctx, r.out.result, WERR_INSUFFICIENT_BUFFER,
 			"GetPrinterDriverDirectory unexpected return code");
 
-		blob = data_blob_talloc(ctx, NULL, needed);
+		blob = data_blob_talloc(tctx, NULL, needed);
 		data_blob_clear(&blob);
 		r.in.buffer = &blob;
 		r.in.offered = needed;
 
-		status = dcerpc_spoolss_GetPrinterDriverDirectory_r(b, ctx, &r);
+		status = dcerpc_spoolss_GetPrinterDriverDirectory_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status, "dcerpc_spoolss_GetPrinterDriverDirectory failed");
 
 		torture_assert_werr_ok(tctx, r.out.result, "GetPrinterDriverDirectory failed");
@@ -748,8 +746,7 @@ static bool test_EnumPrintProcessors(struct torture_context *tctx,
 }
 
 static bool test_EnumPrintProcDataTypes(struct torture_context *tctx,
-					struct dcerpc_binding_handle *b,
-					struct test_spoolss_context *ctx)
+					struct dcerpc_binding_handle *b)
 {
 	NTSTATUS status;
 	struct spoolss_EnumPrintProcDataTypes r;
@@ -774,7 +771,7 @@ static bool test_EnumPrintProcDataTypes(struct torture_context *tctx,
 
 		torture_comment(tctx, "Testing EnumPrintProcDataTypes level %u\n", r.in.level);
 
-		status = dcerpc_spoolss_EnumPrintProcDataTypes_r(b, ctx, &r);
+		status = dcerpc_spoolss_EnumPrintProcDataTypes_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status, "dcerpc_spoolss_EnumPrintProcDataType failed");
 		if (W_ERROR_IS_OK(r.out.result)) {
 			/* TODO: do some more checks here */
@@ -783,12 +780,12 @@ static bool test_EnumPrintProcDataTypes(struct torture_context *tctx,
 		torture_assert_werr_equal(tctx, r.out.result, WERR_INSUFFICIENT_BUFFER,
 			"EnumPrintProcDataTypes unexpected return code");
 
-		blob = data_blob_talloc(ctx, NULL, needed);
+		blob = data_blob_talloc(tctx, NULL, needed);
 		data_blob_clear(&blob);
 		r.in.buffer = &blob;
 		r.in.offered = needed;
 
-		status = dcerpc_spoolss_EnumPrintProcDataTypes_r(b, ctx, &r);
+		status = dcerpc_spoolss_EnumPrintProcDataTypes_r(b, tctx, &r);
 		torture_assert_ntstatus_ok(tctx, status, "dcerpc_spoolss_EnumPrintProcDataTypes failed");
 
 		torture_assert_werr_ok(tctx, r.out.result, "EnumPrintProcDataTypes failed");
@@ -4385,6 +4382,39 @@ static bool test_OpenPrinter_badname(struct torture_context *tctx,
 	return ret;
 }
 
+static bool test_OpenPrinter_badname_list(struct torture_context *tctx,
+					  struct dcerpc_binding_handle *b,
+					  const char *server_name)
+{
+	const char *badnames[] = {
+		"__INVALID_PRINTER__",
+		"\\\\__INVALID_HOST__",
+		"",
+		"\\\\\\",
+		"\\\\\\__INVALID_PRINTER__"
+	};
+	const char *badname;
+	int i;
+
+	for (i=0; i < ARRAY_SIZE(badnames); i++) {
+		torture_assert(tctx,
+			test_OpenPrinter_badname(tctx, b, badnames[i]),
+			"");
+	}
+
+	badname = talloc_asprintf(tctx, "\\\\%s\\", server_name);
+	torture_assert(tctx,
+		test_OpenPrinter_badname(tctx, b, badname),
+		"");
+
+	badname = talloc_asprintf(tctx, "\\\\%s\\__INVALID_PRINTER__", server_name);
+	torture_assert(tctx,
+		test_OpenPrinter_badname(tctx, b, badname),
+		"");
+
+	return true;
+}
+
 static bool test_OpenPrinter(struct torture_context *tctx,
 			     struct dcerpc_pipe *p,
 			     const char *name,
@@ -5602,23 +5632,15 @@ bool torture_rpc_spoolss(struct torture_context *torture)
 	ret &= test_Forms(torture, b, &ctx->server_handle, true, NULL, NULL, NULL);
 	ret &= test_Forms_winreg(torture, b, &ctx->server_handle, true, NULL);
 	ret &= test_EnumPorts(torture, b, ctx);
-	ret &= test_GetPrinterDriverDirectory(torture, p, ctx, environment);
-	ret &= test_GetPrintProcessorDirectory(torture, p, ctx, environment);
+	ret &= test_GetPrinterDriverDirectory(torture, p, environment);
+	ret &= test_GetPrintProcessorDirectory(torture, p, environment);
 	ret &= test_EnumPrinterDrivers(torture, p, ctx, environment);
 	ret &= test_EnumPrinterDrivers(torture, p, ctx, SPOOLSS_ARCHITECTURE_ALL);
 	ret &= test_EnumMonitors(torture, b, ctx);
 	ret &= test_EnumPrintProcessors(torture, b, ctx, environment);
-	ret &= test_EnumPrintProcDataTypes(torture, b, ctx);
+	ret &= test_EnumPrintProcDataTypes(torture, b);
 	ret &= test_EnumPrinters(torture, b, ctx);
-	ret &= test_OpenPrinter_badname(torture, b, "__INVALID_PRINTER__");
-	ret &= test_OpenPrinter_badname(torture, b, "\\\\__INVALID_HOST__");
-	ret &= test_OpenPrinter_badname(torture, b, "");
-	ret &= test_OpenPrinter_badname(torture, b, "\\\\\\");
-	ret &= test_OpenPrinter_badname(torture, b, "\\\\\\__INVALID_PRINTER__");
-	ret &= test_OpenPrinter_badname(torture, b, talloc_asprintf(torture, "\\\\%s\\", dcerpc_server_name(p)));
-	ret &= test_OpenPrinter_badname(torture, b,
-					talloc_asprintf(torture, "\\\\%s\\__INVALID_PRINTER__", dcerpc_server_name(p)));
-
+	ret &= test_OpenPrinter_badname_list(torture, b, dcerpc_server_name(p));
 
 	ret &= test_AddPort(torture, p);
 	ret &= test_EnumPorts_old(torture, p);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list