summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArvid Requate <requate@univention.de>2013-11-21 12:40:15 +0100
committerAndreas Schneider <asn@cryptomilk.org>2013-11-21 15:01:30 +0100
commitaddabf151377c8c0ab75fb591bc85d8ea5c8acfa (patch)
tree82b628a163aa6261e3a4929858194e48f8ba6137
parentb2815b4c8c3e436a79fb7f07be285a417fd6e8cb (diff)
downloadsamba-addabf151377c8c0ab75fb591bc85d8ea5c8acfa.tar.gz
samba-addabf151377c8c0ab75fb591bc85d8ea5c8acfa.tar.xz
samba-addabf151377c8c0ab75fb591bc85d8ea5c8acfa.zip
torture: test printing using "XPS_PASS" datatype
The "XPS_PASS" datatype is used by Windows 8. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10267 Reviewed-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Thu Nov 21 15:01:30 CET 2013 on sn-devel-104
-rw-r--r--source4/torture/rpc/spoolss.c33
1 files changed, 30 insertions, 3 deletions
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index f2a44c9c46..d216e07aeb 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -3368,11 +3368,11 @@ static bool test_JobPropertyDelete(struct torture_context *tctx,
return true;
}
-
-static bool test_DoPrintTest_add_one_job(struct torture_context *tctx,
+static bool test_DoPrintTest_add_one_job_common(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
struct policy_handle *handle,
const char *document_name,
+ const char *datatype,
uint32_t *job_id)
{
NTSTATUS status;
@@ -3394,7 +3394,7 @@ static bool test_DoPrintTest_add_one_job(struct torture_context *tctx,
info1.document_name = document_name;
info1.output_file = NULL;
- info1.datatype = "RAW";
+ info1.datatype = datatype;
info_ctr.level = 1;
info_ctr.info.info1 = &info1;
@@ -3443,6 +3443,25 @@ static bool test_DoPrintTest_add_one_job(struct torture_context *tctx,
return true;
}
+static bool test_DoPrintTest_add_one_job(struct torture_context *tctx,
+ struct dcerpc_binding_handle *b,
+ struct policy_handle *handle,
+ const char *document_name,
+ uint32_t *job_id)
+{
+ test_DoPrintTest_add_one_job_common(tctx, b, handle, document_name, "RAW", job_id);
+}
+
+static bool test_DoPrintTest_add_one_job_v4(struct torture_context *tctx,
+ struct dcerpc_binding_handle *b,
+ struct policy_handle *handle,
+ const char *document_name,
+ uint32_t *job_id)
+{
+ test_DoPrintTest_add_one_job_common(tctx, b, handle, document_name, "XPS_PASS", job_id);
+}
+
+
static bool test_DoPrintTest_check_jobs(struct torture_context *tctx,
struct dcerpc_binding_handle *b,
struct policy_handle *handle,
@@ -3545,6 +3564,14 @@ static bool test_DoPrintTest(struct torture_context *tctx,
ret &= test_SetJob(tctx, b, handle, job_ids[i], NULL, SPOOLSS_JOB_CONTROL_DELETE);
}
+ for (i=0; i < num_jobs; i++) {
+ ret &= test_DoPrintTest_add_one_job_v4(tctx, b, handle, "TorturePrintJob v4", &job_ids[i]);
+ }
+
+ for (i=0; i < num_jobs; i++) {
+ ret &= test_SetJob(tctx, b, handle, job_ids[i], NULL, SPOOLSS_JOB_CONTROL_DELETE);
+ }
+
if (ret == true) {
torture_comment(tctx, "real print operations test succeeded\n\n");
}