Running TestWebKitAPI and webkit_unit_tests for Chromium Android should defer to...
authorpeter@chromium.org <peter@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Nov 2012 11:23:11 +0000 (11:23 +0000)
committerpeter@chromium.org <peter@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Nov 2012 11:23:11 +0000 (11:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=102245

Reviewed by Tony Chang.

When running TestWebKitAPI and webkit_unit_test for Chromium Android, defer
the actual running part to the test runner which lives on the Chromium side.
Re-implementing or even generalizing the device-interaction part in WebKit
is error prone and not worth the effort.

* Scripts/run-api-tests:
* Scripts/run-chromium-webkit-unit-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@134924 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/run-api-tests
Tools/Scripts/run-chromium-webkit-unit-tests

index b705b92..86a3acb 100644 (file)
@@ -1,3 +1,18 @@
+2012-11-16  Peter Beverloo  <peter@chromium.org>
+
+        Running TestWebKitAPI and webkit_unit_tests for Chromium Android should defer to the Chromium-sided test runner
+        https://bugs.webkit.org/show_bug.cgi?id=102245
+
+        Reviewed by Tony Chang.
+
+        When running TestWebKitAPI and webkit_unit_test for Chromium Android, defer
+        the actual running part to the test runner which lives on the Chromium side.
+        Re-implementing or even generalizing the device-interaction part in WebKit
+        is error prone and not worth the effort.
+
+        * Scripts/run-api-tests:
+        * Scripts/run-chromium-webkit-unit-tests:
+
 2012-11-15  Yury Semikhatsky  <yurys@chromium.org>
 
         Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
index 3a3e00c..5913cee 100755 (executable)
@@ -79,6 +79,19 @@ if ($showHelp) {
 }
 
 setConfiguration();
+
+# When running TestWebKitAPI for Chromium on Android, defer to the test runner in
+# Chromium as we can't execute the binary locally.
+if (isChromiumAndroid()) {
+    my @runTestCommand = ('build/android/run_tests.py', '--verbose', '--webkit', '--out-directory', sourceDir() . '/out', '-s', 'TestWebKitAPI');
+    if (configuration() eq "Release") {
+        push @runTestCommand, '--release';
+    }
+
+    chdir(sourceDir() . '/Source/WebKit/chromium') or die $!;
+    exit exitStatus(system(@runTestCommand));
+}
+
 buildTestTool() if $build;
 setPathForRunningWebKitApp(\%ENV);
 my @testsToRun = listAllTests();
index 43f85ad..33c7cc2 100755 (executable)
@@ -34,7 +34,19 @@ use lib $FindBin::Bin;
 use webkitdirs;
 use VCSUtils;
 
-push(@ARGV, "--chromium");
 setConfiguration();
+
+# Defer to Android's test runners for running webkit_unit_tests on a device.
+if (checkForArgumentAndRemoveFromARGV('--platform=chromium-android')) {
+    my @runTestCommand = ('build/android/run_tests.py', '--verbose', '--webkit', '--out-directory', sourceDir() . '/out', '-s', 'webkit_unit_tests');
+    if (configuration() eq "Release") {
+        push @runTestCommand, '--release';
+    }
+
+    chdir(sourceDir() . '/Source/WebKit/chromium') or die $!;
+    exit exitStatus(system(@runTestCommand));
+}
+
+push(@ARGV, "--chromium");
 my $pathToBinary = productDir() . "/webkit_unit_tests";
 exit exitStatus(system ($pathToBinary, @ARGV));