Module: tools Branch: master Commit: 7be4bccf181b94536173998648f22ae25229b308 URL: http://source.winehq.org/git/tools.git/?a=commit;h=7be4bccf181b9453617399864...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Feb 7 18:32:28 2014 +0100
winetest: Reject test runs with more than 50 failures.
That's usually a sign of a broken setup, and it pollutes the legitimate results.
---
winetest/dissect | 5 ++++- winetest/winetest.conf | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/winetest/dissect b/winetest/dissect index 9081a94..5187cf0 100755 --- a/winetest/dissect +++ b/winetest/dissect @@ -33,7 +33,7 @@ use open ':utf8'; use CGI qw(:standard); charset("utf-8");
-use vars qw/$gitdir $gitweb $queuedir $datadir $maxmult $maxuserskips $maxfilesize $acceptprediluvianwin/; +use vars qw/$gitdir $gitweb $queuedir $datadir $maxmult $maxuserskips $maxfailedtests $maxfilesize $acceptprediluvianwin/; require "winetest.conf";
my $name0=$0; @@ -237,6 +237,7 @@ if ($wine_build) { }
my $user_skips = 0; +my $failed_tests = 0; my %dllinfo; /^Dll info:\r?$/ or mydie "no Dll info header: $_"; $box->{data} .= "<h2>DLL version</h2>\n"; @@ -302,8 +303,10 @@ while (<IN>) { if ($1 == 258) { $reason = "test failed: timed out"; } elsif ($1 < 0) { $reason = "test failed: crash"; } $testbox->{data} .= "<div class="test end">$reason</div>\n"; + mydie "too many test failures\n" if ++$failed_tests > $maxfailedtests; } else { $result = "$total $todo $failed $skipped"; + if ($failed) { mydie "too many test failures\n" if ++$failed_tests > $maxfailedtests; } } print SUM "- $dll $unit $result $source $rev\n"; $dll = undef; diff --git a/winetest/winetest.conf b/winetest/winetest.conf index 40b3e50..d229c0a 100644 --- a/winetest/winetest.conf +++ b/winetest/winetest.conf @@ -14,6 +14,9 @@ $maxmult = 10; # Maximum allowed number of explicit user skips $maxuserskips = 10;
+# Maximum allowed number of tests with failures +$maxfailedtests = 50; + # Whether to accept test results from Win9x / NT4 versions $acceptprediluvianwin = 0;