[iOS] Support TestWebKitAPI in the iOS Simulator
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 May 2014 21:17:33 +0000 (21:17 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 May 2014 21:17:33 +0000 (21:17 +0000)
<http://webkit.org/b/129535>
<rdar://problem/16203529>

Reviewed by Daniel Bates.

* Scripts/run-api-tests:
(runTest):
(listAllTests):
- Extract common arguments into local variable.
- Use xcrun to find the sim tool in order to invoke
TestWebKitAPI properly in the iOS Simulator.

* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Set --device or --sim as
appropriate to fix buildTestTool() in run-api-tests.

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

Tools/ChangeLog
Tools/Scripts/run-api-tests
Tools/Scripts/webkitdirs.pm

index 00c734c7da175b4b8c0425fc73e6ddf6dbba4358..7770cd879221b450f3e4100dec2b1cd8b49a7d01 100644 (file)
@@ -1,3 +1,22 @@
+2014-05-15  David Kilzer  <ddkilzer@apple.com>
+
+        [iOS] Support TestWebKitAPI in the iOS Simulator
+        <http://webkit.org/b/129535>
+        <rdar://problem/16203529>
+
+        Reviewed by Daniel Bates.
+
+        * Scripts/run-api-tests:
+        (runTest):
+        (listAllTests):
+        - Extract common arguments into local variable.
+        - Use xcrun to find the sim tool in order to invoke
+        TestWebKitAPI properly in the iOS Simulator. 
+
+        * Scripts/webkitdirs.pm:
+        (argumentsForConfiguration): Set --device or --sim as
+        appropriate to fix buildTestTool() in run-api-tests.
+
 2014-05-15  Tim Horton  <timothy_horton@apple.com>
 
         Fix a logging typo in copy-webkitlibraries-to-product-directory
index b19a27211b79a2097075b5957fe41004913dd8b0..91ba51e97e7e3952d70892fb6fa4094fc182a8dc 100755 (executable)
@@ -188,10 +188,13 @@ sub runTest($$$)
     }
 
     my $pid;
-    if (isAppleMacWebKit() && architecture()) {
-        $pid = open3($childIn, $childOut, $childErr, "arch", "-" . architecture(), testToolPath(), $gtestArg, @ARGV) or die "Failed to run test: $test.";
+    my @commonArguments = (testToolPath(), $gtestArg, @ARGV);
+    if (isIOSWebKit()) {
+        $pid = open3($childIn, $childOut, $childErr, qw(xcrun -sdk iphonesimulator sim --environment=merge), @commonArguments) or die "Failed to run test: $test.";
+    } elsif (isAppleMacWebKit() && architecture()) {
+        $pid = open3($childIn, $childOut, $childErr, "arch", "-" . architecture(), @commonArguments) or die "Failed to run test: $test.";
     } else {
-        $pid = open3($childIn, $childOut, $childErr, testToolPath(), $gtestArg, @ARGV) or die "Failed to run test: $test.";
+        $pid = open3($childIn, $childOut, $childErr, @commonArguments) or die "Failed to run test: $test.";
     }
 
     close($childIn);
@@ -247,10 +250,13 @@ sub listAllTests()
     }
 
     my $pid;
-    if (isAppleMacWebKit() && architecture()) {
-        $pid = open3($childIn, $childOut, $childErr, "arch", "-" . architecture(), testToolPath(), "--gtest_list_tests") or die "Failed to build list of tests!";
+    my @commonArguments = (testToolPath(), "--gtest_list_tests");
+    if (isIOSWebKit()) {
+        $pid = open3($childIn, $childOut, $childErr, qw(xcrun -sdk iphonesimulator sim --environment=merge), @commonArguments) or die "Failed to build list of tests!";
+    } elsif (isAppleMacWebKit() && architecture()) {
+        $pid = open3($childIn, $childOut, $childErr, "arch", "-" . architecture(), @commonArguments) or die "Failed to build list of tests!";
     } else {
-        $pid = open3($childIn, $childOut, $childErr, testToolPath(), "--gtest_list_tests") or die "Failed to build list of tests!";
+        $pid = open3($childIn, $childOut, $childErr, @commonArguments) or die "Failed to build list of tests!";
     }
 
     close($childIn);
index 17381f19d42e63b7afc8ff758eed680cee43b882..d7097aadc7184a8eac232fbf9a9e64d52cdca293 100755 (executable)
@@ -371,10 +371,13 @@ sub argumentsForConfiguration()
 {
     determineConfiguration();
     determineArchitecture();
+    determineXcodeSDK();
 
     my @args = ();
     push(@args, '--debug') if ($configuration =~ "^Debug");
     push(@args, '--release') if ($configuration =~ "^Release");
+    push(@args, '--device') if ($xcodeSDK =~ /^iphoneos/);
+    push(@args, '--sim') if ($xcodeSDK =~ /^iphonesimulator/);
     push(@args, '--32-bit') if ($architecture ne "x86_64" and !isWin64());
     push(@args, '--64-bit') if (isWin64());
     push(@args, '--gtk') if isGtk();