run-javascriptcore-tests won't report test results for testmasm, testair, testb3, testdfg and test api
https://bugs.webkit.org/show_bug.cgi?id=199489
<rdar://problem/47891081>
Patch by Zhifei Fang <zhifei_fang@apple.com> on 2019-07-12
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.countFailures):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
* Scripts/run-javascriptcore-tests:
(runTest):
(reportTestFailures):
(runJSCStressTests):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@247393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py b/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
index c27d262..a605af2 100644
--- a/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
+++ b/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
@@ -331,6 +331,10 @@
def start(self):
platform = self.getProperty('platform')
+ architecture = self.getProperty("architecture")
+ # Currently run-javascriptcore-test doesn't support run those binaries remotely
+ if architecture in ['mips', 'armv7', 'aarch64']:
+ self.command += ['--no-testmasm', '--no-testair', '--no-testb3', '--no-testdfg', '--no-testapi']
# Linux bots have currently problems with JSC tests that try to use large amounts of memory.
# Check: https://bugs.webkit.org/show_bug.cgi?id=175140
if platform in ('gtk', 'wpe'):
@@ -344,16 +348,21 @@
def countFailures(self, cmd):
logText = cmd.logs['stdio'].getText()
+ count = 0
match = re.search(r'^Results for JSC stress tests:\r?\n\s+(\d+) failure', logText, re.MULTILINE)
if match:
- return int(match.group(1))
+ count += int(match.group(1))
+
+ match = re.search(r'Results for JSC test binaries:\r?\n\s+(\d+) failure', logText, re.MULTILINE)
+ if match:
+ count += int(match.group(1))
match = re.search(r'^Results for Mozilla tests:\r?\n\s+(\d+) regression', logText, re.MULTILINE)
if match:
- return int(match.group(1))
+ count += int(match.group(1))
- return 0
+ return count
class RunRemoteJavaScriptCoreTests(RunJavaScriptCoreTests):
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py b/Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py
index 4f875d3..65315bd 100755
--- a/Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py
+++ b/Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py
@@ -122,6 +122,18 @@
self.assertResults(FAILURE, ["5 JSC tests failed"], 1, """Results for JSC stress tests:
5 failures found.""")
+ def test_jsc_stress_failures_with_binary_results_output(self):
+ self.assertResults(FAILURE, ["8 JSC tests failed"], 1, """Results for JSC stress tests:
+ 5 failures found.
+Results for JSC test binaries:
+ 3 failures found.""")
+
+ def test_jsc_stress_failures_with_binary_result_output(self):
+ self.assertResults(FAILURE, ["6 JSC tests failed"], 1, """Results for JSC stress tests:
+ 5 failures found.
+Results for JSC test binaries:
+ 1 failure found.""")
+
class RunTest262TestsTest(unittest.TestCase):
def assertResults(self, expected_result, expected_text, rc, stdio):
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index dfa3d67..96071b4 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,19 @@
+2019-07-12 Zhifei Fang <zhifei_fang@apple.com>
+
+ run-javascriptcore-tests won't report test results for testmasm, testair, testb3, testdfg and test api
+ https://bugs.webkit.org/show_bug.cgi?id=199489
+ <rdar://problem/47891081>
+
+ Reviewed by Aakash Jain.
+
+ * BuildSlaveSupport/build.webkit.org-config/steps.py:
+ (RunJavaScriptCoreTests.countFailures):
+ * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
+ * Scripts/run-javascriptcore-tests:
+ (runTest):
+ (reportTestFailures):
+ (runJSCStressTests):
+
2019-07-12 Aakash Jain <aakash_jain@apple.com>
[ews-build] Make layout-tests' full_results.json accessible in Buildbot
diff --git a/Tools/Scripts/run-javascriptcore-tests b/Tools/Scripts/run-javascriptcore-tests
index cfe61a2..6f63d1a 100755
--- a/Tools/Scripts/run-javascriptcore-tests
+++ b/Tools/Scripts/run-javascriptcore-tests
@@ -92,6 +92,8 @@
my $remoteHost = 0;
my $failFast = 1;
my %jsonData = ();
+my @testResults = ();
+my $isTestFailed = 0;
my $remoteConfigFile;
my $jsonFileName;
my $verbose = 0;
@@ -398,17 +400,39 @@
my $exitStatus = exitStatus($testResult);
print "$testName completed with rc=$testResult ($exitStatus)\n\n";
+ my $testStatus = ($exitStatus == 0)? JSON::PP::true: JSON::PP::false;
+ if ($testResult) {
+ $isTestFailed = 1;
+ push @testResults, $testName;
+ }
if (defined($jsonFileName)) {
- my $testStatus = ($exitStatus == 0)? JSON::PP::true: JSON::PP::false;
$jsonData{$jsonTestStatusName} = $testStatus;
}
if ($testResult && $failFast) {
+ reportTestFailures();
writeJsonDataIfApplicable();
exit exitStatus($testResult);
}
}
+sub reportTestFailures {
+ my $numJSCtestFailures = @testResults;
+ if ($numJSCtestFailures) {
+ print "\n** The following JSC test binaries failures have been introduced:\n";
+ foreach my $testFailure (@testResults) {
+ print "\t$testFailure\n";
+ }
+ }
+ print "\n";
+
+ print "Results for JSC test binaries:\n";
+ printThingsFound($numJSCtestFailures, "failure", "failures", "found");
+ print " OK.\n" if $numJSCtestFailures == 0;
+
+ print "\n";
+}
+
if ($runTestMasm) { runTest("testmasm", "allMasmTestsPassed") }
if ($runTestAir) { runTest("testair", "allAirTestsPassed") }
if ($runTestB3) { runTest("testb3", "allB3TestsPassed") }
@@ -420,6 +444,11 @@
chdirWebKit();
runJSCStressTests();
+reportTestFailures();
+
+if ($isTestFailed) {
+ exit(1);
+}
sub runJSCStressTests
{
@@ -573,6 +602,7 @@
my $numJSCStressFailures = @jscStressFailList;
if ($numJSCStressFailures) {
+ $isTestFailed = 1;
print "\n** The following JSC stress test failures have been introduced:\n";
foreach my $testFailure (@jscStressFailList) {
print "\t$testFailure\n";
@@ -591,7 +621,6 @@
}
writeJsonDataIfApplicable();
- exit(1) if $numJSCStressFailures;
}
sub readAllLines