diff options
-rw-r--r-- | source4/torture/rpc/spoolss.c | 33 |
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"); } |