[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