diff options
Diffstat (limited to 'source4/torture/rpc/spoolss.c')
-rw-r--r-- | source4/torture/rpc/spoolss.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index 468484e471..c355b8d9bc 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -216,6 +216,7 @@ BOOL test_AddForm(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct spoolss_AddFormInfo1 form; NTSTATUS status; char *formname = "testform3"; + BOOL ret = True; r.in.handle = handle; r.in.level = 1; @@ -238,15 +239,35 @@ BOOL test_AddForm(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, if (!W_ERROR_IS_OK(r.out.result)) { printf("AddForm failed - %s\n", nt_errstr(status)); - /* Fall through to delete form */ + goto done; } + { + struct spoolss_SetForm sf; + + sf.in.handle = handle; + sf.in.form_name = formname; + sf.in.level = 1; + sf.in.info.info1 = &form; + form.width = 1234; + + status = dcerpc_spoolss_SetForm(p, mem_ctx, &sf); + + if (!NT_STATUS_IS_OK(status) || !W_ERROR_IS_OK(r.out.result)) { + printf("SetForm failed - %s/%s\n", + nt_errstr(status), win_errstr(r.out.result)); + ret = False; + /* Fall through to delete */ + } + } + + done: if (!test_DeleteForm(p, mem_ctx, handle, formname)) { printf("DeleteForm failed\n"); - return False; + ret = False; } - return True; + return ret; } BOOL test_EnumPrinterData(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, |