diff options
-rw-r--r-- | lib/torture/torture.c | 22 | ||||
-rw-r--r-- | lib/torture/torture.h | 10 | ||||
-rw-r--r-- | selftest/knownfail.d/samba3.rpc.samr | 5 | ||||
-rw-r--r-- | selftest/knownfail.d/samba4.rpc.netlogon-s3 | 4 | ||||
-rw-r--r-- | selftest/knownfail.d/samba4.rpc.samr | 2 |
5 files changed, 31 insertions, 12 deletions
diff --git a/lib/torture/torture.c b/lib/torture/torture.c index b8fb28f669f..41226ef7504 100644 --- a/lib/torture/torture.c +++ b/lib/torture/torture.c @@ -212,18 +212,22 @@ void torture_warning(struct torture_context *context, const char *comment, ...) void torture_result(struct torture_context *context, enum torture_result result, const char *fmt, ...) { - va_list ap; + /* Of the two outcomes, keep that with the higher priority. */ + if (result >= context->last_result) { + va_list ap; - va_start(ap, fmt); + va_start(ap, fmt); - if (context->last_reason) { - torture_warning(context, "%s", context->last_reason); - talloc_free(context->last_reason); - } + if (context->last_reason) { + torture_warning(context, "%s", context->last_reason); + talloc_free(context->last_reason); + } - context->last_result = result; - context->last_reason = talloc_vasprintf(context, fmt, ap); - va_end(ap); + context->last_result = result; + context->last_reason = talloc_vasprintf(context, fmt, ap); + + va_end(ap); + } } /** diff --git a/lib/torture/torture.h b/lib/torture/torture.h index f6089684afd..6818084ea96 100644 --- a/lib/torture/torture.h +++ b/lib/torture/torture.h @@ -27,11 +27,15 @@ struct torture_suite; struct torture_tcase; struct torture_results; +/* + * Arranged in precedence order. TORTURE_ERROR has the highest priority; + * TORTURE_OK the lowest. + */ enum torture_result { TORTURE_OK=0, - TORTURE_FAIL=1, - TORTURE_ERROR=2, - TORTURE_SKIP=3 + TORTURE_SKIP=1, + TORTURE_FAIL=2, + TORTURE_ERROR=3 }; enum torture_progress_whence { diff --git a/selftest/knownfail.d/samba3.rpc.samr b/selftest/knownfail.d/samba3.rpc.samr new file mode 100644 index 00000000000..1bcb89e6421 --- /dev/null +++ b/selftest/knownfail.d/samba3.rpc.samr @@ -0,0 +1,5 @@ +# TestPrivateFunctionsDomain is not implemented. +# QueryDisplayInfo does not return all domain groups on the builtin domain handle. +^samba3.rpc.samr.samr\(nt4_dc\) + +^samba3.rpc.samr.users.samr.users\(nt4_dc\) diff --git a/selftest/knownfail.d/samba4.rpc.netlogon-s3 b/selftest/knownfail.d/samba4.rpc.netlogon-s3 new file mode 100644 index 00000000000..a7d6732d091 --- /dev/null +++ b/selftest/knownfail.d/samba4.rpc.netlogon-s3 @@ -0,0 +1,4 @@ +# ServerAuthenticate2 returns NT_STATUS_DOWNGRADE_DETECTED, but we expect NT_STATUS_OK +^samba4.rpc.netlogon-s3\ with\ .netlogon.SetPassword_with_flags\(ad_dc_default\) +^samba4.rpc.netlogon-s3\ with\ validate.netlogon.SetPassword_with_flags\(ad_dc_default\) +^samba4.rpc.netlogon-s3\ with\ bigendian.netlogon.SetPassword_with_flags\(ad_dc_default\) diff --git a/selftest/knownfail.d/samba4.rpc.samr b/selftest/knownfail.d/samba4.rpc.samr new file mode 100644 index 00000000000..5bb04bdab13 --- /dev/null +++ b/selftest/knownfail.d/samba4.rpc.samr @@ -0,0 +1,2 @@ +^samba4.rpc.samr.users\ on\ ncacn_np\ with\ .samr.users\(ad_dc_slowtests\) +^samba4.rpc.samr.users\ against\ s4member\ server\ with\ local\ creds.samr.users\(s4member\) |