From: Andrew Tridgell Date: Wed, 24 Sep 2008 18:28:58 +0000 (-0700) Subject: support NT_STATUS_XX:NT_STATUS_YY syntax in ignore files X-Git-Tag: samba-4.0.0alpha6~769^2~228^2~181 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fcafbb42cbe759711db4a47c2969bd34229e4a0;p=thirdparty%2Fsamba.git support NT_STATUS_XX:NT_STATUS_YY syntax in ignore files --- diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c index 176fc035e76..1b8f97596bd 100644 --- a/source4/torture/gentest.c +++ b/source4/torture/gentest.c @@ -1165,6 +1165,8 @@ static void idle_func_smb2(struct smb2_transport *transport, void *private) */ static bool compare_status(NTSTATUS status1, NTSTATUS status2) { + char *s; + if (NT_STATUS_EQUAL(status1, status2)) return true; /* one code being an error and the other OK is always an error */ @@ -1178,6 +1180,18 @@ static bool compare_status(NTSTATUS status1, NTSTATUS status2) ignore_pattern(nt_errstr(status2))) { return true; } + + /* also support ignore patterns of the form NT_STATUS_XX:NT_STATUS_YY + meaning that the first server returns NT_STATUS_XX and the 2nd + returns NT_STATUS_YY */ + s = talloc_asprintf(current_op.mem_ctx, "%s:%s", + nt_errstr(status1), + nt_errstr(status2)); + printf("pattern: %s\n", s); + if (ignore_pattern(s)) { + return true; + } + current_op.mismatch = nt_errstr(status1); return false; } @@ -1348,7 +1362,7 @@ again: } \ current_op.status = status[0]; \ for (i=1;i