diff options
-rw-r--r-- | source4/torture/rpc/spoolss_notify.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c index e5e52d6b73..dac89500a5 100644 --- a/source4/torture/rpc/spoolss_notify.c +++ b/source4/torture/rpc/spoolss_notify.c @@ -354,12 +354,20 @@ static bool test_start_dcerpc_server(struct torture_context *tctx, return true; } +static struct received_packet *last_packet(struct received_packet *p) +{ + struct received_packet *tmp; + for (tmp = p; tmp->next; tmp = tmp->next) ;; + return tmp; +} + static bool test_RFFPCNEx(struct torture_context *tctx, struct dcerpc_pipe *p) { struct dcesrv_context *dce_ctx; struct policy_handle handle; const char *address; + struct received_packet *tmp; received_packets = NULL; @@ -372,8 +380,8 @@ static bool test_RFFPCNEx(struct torture_context *tctx, torture_assert_int_equal(tctx, received_packets->opnum, NDR_SPOOLSS_REPLYOPENPRINTER, "no ReplyOpenPrinter packet after RemoteFindFirstPrinterChangeNotifyEx"); torture_assert(tctx, test_ClosePrinter(tctx, p, &handle), ""); - torture_assert(tctx, received_packets, "no packets received"); - torture_assert_int_equal(tctx, received_packets->opnum, NDR_SPOOLSS_REPLYCLOSEPRINTER, + tmp = last_packet(received_packets); + torture_assert_int_equal(tctx, tmp->opnum, NDR_SPOOLSS_REPLYCLOSEPRINTER, "no ReplyClosePrinter packet after ClosePrinter"); /* Shut down DCE/RPC server */ |