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 <g...@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 <g...@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

Reply via email to