Remove Qt features from build and test tools
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Oct 2013 18:20:19 +0000 (18:20 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Oct 2013 18:20:19 +0000 (18:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=122312

Reviewed by Anders Carlsson.

* Scripts/build-dumprendertree:
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/build-webkittestrunner:
* Scripts/old-run-webkit-tests:
(openDumpTool):
(buildPlatformResultHierarchy):
(buildPlatformTestHierarchy):
(readSkippedFiles):
* Scripts/run-launcher:
* Scripts/run-qtwebkit-tests: Removed.
* Scripts/run-webkit-tests:
(useNewRunWebKitTests):
* Scripts/update-webkit:
* Scripts/webkit-build-directory:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(jscProductDir):
(builtDylibPathForName):
(isAppleWebKit):
(launcherPath):
(launcherName):
(checkRequiredSystemConfig):
(setupCygwinEnv):
(copyInspectorFrontendFiles):
(setPathForRunningWebKitApp):
* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_mac_future):
(BaselineOptimizerTest.test_win_does_not_drop_to_win_7sp0):
(BaselineOptimizerTest.test_common_directory_includes_root):
(BaselineOptimizerTest.test_virtual_ports_filtered):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_parse_reviewer_text):
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(PortTest.disabled_test_chromium_mac_lion_in_test_shell_mode):
* Scripts/webkitpy/port/base.py:
(Port.__init__):
(Port._port_flag_for_scripts):
(Port._wk2_port_name):
* Scripts/webkitpy/port/builders.py:
* Scripts/webkitpy/port/factory.py:
(platform_options):
(PortFactory):
(PortFactory._default_port):
* Scripts/webkitpy/port/factory_unittest.py:
(FactoryTest.test_gtk):
* Scripts/webkitpy/port/qt.py: Removed.
* Scripts/webkitpy/port/qt_unittest.py: Removed.
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
* Scripts/webkitpy/style/checkers/cmake.py:
(CMakeChecker):
* Scripts/webkitpy/style/checkers/cpp.py:
(_classify_include):
(check_include_line):
(check_identifier_name_in_declaration):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_classify_include):
(WebKitStyleTest.test_names):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase.test_determine_port_from_expectations_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory):
* Scripts/webkitpy/tool/main.py:
(WebKitPatch):

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

32 files changed:
Tools/ChangeLog
Tools/Scripts/build-dumprendertree
Tools/Scripts/build-jsc
Tools/Scripts/build-webkit
Tools/Scripts/build-webkittestrunner
Tools/Scripts/old-run-webkit-tests
Tools/Scripts/run-launcher
Tools/Scripts/run-qtwebkit-tests [deleted file]
Tools/Scripts/run-webkit-tests
Tools/Scripts/update-webkit
Tools/Scripts/webkit-build-directory
Tools/Scripts/webkitdirs.pm
Tools/Scripts/webkitpy/common/checkout/baselineoptimizer.py
Tools/Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py
Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py
Tools/Scripts/webkitpy/common/config/watchlist
Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py
Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py
Tools/Scripts/webkitpy/port/base.py
Tools/Scripts/webkitpy/port/builders.py
Tools/Scripts/webkitpy/port/factory.py
Tools/Scripts/webkitpy/port/factory_unittest.py
Tools/Scripts/webkitpy/port/qt.py [deleted file]
Tools/Scripts/webkitpy/port/qt_unittest.py [deleted file]
Tools/Scripts/webkitpy/style/checker.py
Tools/Scripts/webkitpy/style/checker_unittest.py
Tools/Scripts/webkitpy/style/checkers/cmake.py
Tools/Scripts/webkitpy/style/checkers/cpp.py
Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py
Tools/Scripts/webkitpy/style/checkers/test_expectations_unittest.py
Tools/Scripts/webkitpy/tool/commands/rebaseline_unittest.py
Tools/Scripts/webkitpy/tool/main.py

index ec5ba4a..f9da298 100644 (file)
@@ -1,3 +1,79 @@
+2013-10-04  Brent Fulgham  <bfulgham@apple.com>
+
+        Remove Qt features from build and test tools
+        https://bugs.webkit.org/show_bug.cgi?id=122312
+
+        Reviewed by Anders Carlsson.
+
+        * Scripts/build-dumprendertree:
+        * Scripts/build-jsc:
+        * Scripts/build-webkit:
+        * Scripts/build-webkittestrunner:
+        * Scripts/old-run-webkit-tests:
+        (openDumpTool):
+        (buildPlatformResultHierarchy):
+        (buildPlatformTestHierarchy):
+        (readSkippedFiles):
+        * Scripts/run-launcher:
+        * Scripts/run-qtwebkit-tests: Removed.
+        * Scripts/run-webkit-tests:
+        (useNewRunWebKitTests):
+        * Scripts/update-webkit:
+        * Scripts/webkit-build-directory:
+        * Scripts/webkitdirs.pm:
+        (argumentsForConfiguration):
+        (jscProductDir):
+        (builtDylibPathForName):
+        (isAppleWebKit):
+        (launcherPath):
+        (launcherName):
+        (checkRequiredSystemConfig):
+        (setupCygwinEnv):
+        (copyInspectorFrontendFiles):
+        (setPathForRunningWebKitApp):
+        * Scripts/webkitpy/common/checkout/baselineoptimizer.py:
+        * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
+        (BaselineOptimizerTest.test_mac_future):
+        (BaselineOptimizerTest.test_win_does_not_drop_to_win_7sp0):
+        (BaselineOptimizerTest.test_common_directory_includes_root):
+        (BaselineOptimizerTest.test_virtual_ports_filtered):
+        * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+        (test_parse_reviewer_text):
+        * Scripts/webkitpy/common/config/watchlist:
+        * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
+        (PortTest.disabled_test_chromium_mac_lion_in_test_shell_mode):
+        * Scripts/webkitpy/port/base.py:
+        (Port.__init__):
+        (Port._port_flag_for_scripts):
+        (Port._wk2_port_name):
+        * Scripts/webkitpy/port/builders.py:
+        * Scripts/webkitpy/port/factory.py:
+        (platform_options):
+        (PortFactory):
+        (PortFactory._default_port):
+        * Scripts/webkitpy/port/factory_unittest.py:
+        (FactoryTest.test_gtk):
+        * Scripts/webkitpy/port/qt.py: Removed.
+        * Scripts/webkitpy/port/qt_unittest.py: Removed.
+        * Scripts/webkitpy/style/checker.py:
+        * Scripts/webkitpy/style/checker_unittest.py:
+        (GlobalVariablesTest.test_path_rules_specifier):
+        * Scripts/webkitpy/style/checkers/cmake.py:
+        (CMakeChecker):
+        * Scripts/webkitpy/style/checkers/cpp.py:
+        (_classify_include):
+        (check_include_line):
+        (check_identifier_name_in_declaration):
+        * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+        (OrderOfIncludesTest.test_classify_include):
+        (WebKitStyleTest.test_names):
+        * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
+        (TestExpectationsTestCase.test_determine_port_from_expectations_path):
+        * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
+        (TestRebaselineTest.test_baseline_directory):
+        * Scripts/webkitpy/tool/main.py:
+        (WebKitPatch):
+
 2013-10-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         Unreviewed. Add myself to some watchlists.
index 1ff75f7..0692f7c 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -43,7 +43,6 @@ Usage: $programName [options] [options to pass to build system]
   --help        Show this help message
   --clean       Clean up the build directory
   --gtk         Build the GTK+ port
-  --qt          Build the Qt port
   --efl         Build the EFL port
 EOF
 
@@ -70,8 +69,8 @@ if (isAppleMacWebKit()) {
 } elsif (isAppleWinWebKit()) {
     my $drtSolutionPath = "DumpRenderTree.vcxproj/DumpRenderTree.sln";
     $result = buildVisualStudioProject($drtSolutionPath, $clean);
-} elsif (isQt() || isGtk() || isEfl()) {
-    # Qt, Gtk and EFL build everything in one shot. No need to build anything here.
+} elsif (isGtk() || isEfl()) {
+    # Gtk and EFL build everything in one shot. No need to build anything here.
     $result = 0;
 } else {
     die "Building not defined for this platform!\n";
index d848d85..fc0d5da 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
+# Copyright (C) 2005, 2013 Apple Computer, Inc.  All rights reserved.
 # Copyright (C) 2007 Eric Seidel <eric@webkit.org>
 #
 # Redistribution and use in source and binary forms, with or without
@@ -64,15 +64,7 @@ chdirWebKit();
 my @options = XcodeOptions();
 my @coverageSupportOptions = ($coverageSupport) ? XcodeCoverageSupportOptions() : ();
 
-if (isQt()) {
-    checkForArgumentAndRemoveFromARGV("--qt");
-    my @projects = ("WTF", "JavaScriptCore");
-    # Pick up the --no-webkit2 option from BUILD_WEBKIT_ARGS if it is needed
-    push @ARGV, split(/ /, $ENV{'BUILD_WEBKIT_ARGS'}) if ($ENV{'BUILD_WEBKIT_ARGS'});
-    push @ARGV, "WEBKIT_CONFIG-=build_webkit2" if checkForArgumentAndRemoveFromARGV("--no-webkit2");
-    my $result = buildQMakeProjects(\@projects, 0, @ARGV);
-    exit exitStatus($result);
-} elsif (cmakeBasedPortName()) {
+if (cmakeBasedPortName()) {
     buildCMakeProjectOrExit(0, cmakeBasedPortName(), undef, "jsc", cmakeBasedPortArguments()); # This call only returns if nothing wrong happened
     exit exitStatus(0);
 }
index 5d2f840..b297341 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2009 Google Inc. All rights reserved.
 # Copyright (C) 2010 moiji-mobile.com All rights reserved.
 # Copyright (C) 2011 Research In Motion Limited. All rights reserved.
@@ -65,28 +65,6 @@ my $startTime = time();
 
 my @features = getFeatureOptionList();
 
-# Update defaults from Qt's project file
-if (isQt()) {
-    # Take a sneek peek at the arguments, since we will need the qmake binary early
-    # on to do profile parsing. We also need to know if we're showing the help-text.
-    foreach (@ARGV) {
-        if (/^--qmake=(.*)/) {
-            setQmakeBinaryPath($1);
-        } elsif (/^--help$/) {
-            $showHelp = 1;
-        }
-    }
-
-    my %qtDefaults;
-    if ($showHelp) {
-        %qtDefaults = qtFeatureDefaults();
-    }
-
-    foreach (@features) {
-        $_->{default} = (%qtDefaults ? $qtDefaults{$_->{define}} || 0 : -1);
-    }
-}
-
 # Additional environment parameters
 push @ARGV, split(/ /, $ENV{'BUILD_WEBKIT_ARGS'}) if ($ENV{'BUILD_WEBKIT_ARGS'});
 
@@ -117,24 +95,19 @@ Usage: $programName [options] [options to pass to build system]
   --blackberry                      Build the BlackBerry port on Mac/Linux
   --efl                             Build the EFL port
   --gtk                             Build the GTK+ port
-  --qt                              Build the Qt port
   --wincairo                        Build using Cairo (rather than CoreGraphics) on Windows
   --wince                           Build the WinCE port
 
   --inspector-frontend              Copy changes to the inspector front-end files to the build directory
 
-  --install-headers=<path>          Set installation path for the headers (Qt only)
-  --install-libs=<path>             Set installation path for the libraries (Qt only)
-
   --prefix=<path>                   Set installation prefix to the given path (Gtk/Efl/BlackBerry only)
   --makeargs=<arguments>            Optional Makefile flags
-  --qmakearg=<arguments>            Optional qmake flags (Qt only, e.g. --qmakearg="CONFIG+=webkit2" to build WebKit2)
   --cmakeargs=<arguments>           Optional CMake flags (e.g. --cmakeargs="-DFOO=bar -DCMAKE_PREFIX_PATH=/usr/local")
 
   --minimal                         No optional features, unless explicitly enabled
 
   --only-webkit                     Build only the WebKit project
-  --no-webkit1                      Omit WebKit1 code from the build (Qt/EFL/GTK only)
+  --no-webkit1                      Omit WebKit1 code from the build (EFL/GTK only)
   --no-webkit2                      Omit WebKit2 code from the build
 
 EOF
@@ -173,9 +146,6 @@ setConfiguration();
 
 my $productDir = productDir();
 
-# Remove 0 byte sized files from productDir after slave lost for Qt buildbots.
-File::Find::find(\&unlinkZeroFiles, $productDir) if (isQt() && -e $productDir);
-
 sub unlinkZeroFiles()
 {
     my $file = $File::Find::name;
@@ -200,7 +170,7 @@ for my $dir (@projects) {
     }
 }
 
-if (!isQt() && !-d "WebKitLibraries") {
+if (!-d "WebKitLibraries") {
     die "Error: No WebKitLibraries directory found. Please do a fresh checkout.\n";
 }
 
@@ -243,26 +213,6 @@ if (isAppleMacWebKit()) {
     # Copy WebKitSupportLibrary to the correct location in WebKitLibraries so it can be found.
     # Will fail if WebKitSupportLibrary.zip is not in source root.
     (system("perl Tools/Scripts/update-webkit-support-libs") == 0) or die;
-} elsif (isQt()) {
-    push @options, "--install-headers=" . $installHeaders if defined($installHeaders);
-    push @options, "--install-libs=" . $installLibs if defined($installLibs);
-    push @options, "--makeargs=" . $makeArgs if $makeArgs;
-    push @options, "WEBKIT_CONFIG-=build_webkit1" if $noWebKit1;
-    push @options, "WEBKIT_CONFIG-=build_webkit2" if $noWebKit2;
-
-    if (checkForArgumentAndRemoveFromARGV("-2")) {
-        print "Note: WebKit2 is now built by default, you don't need to pass -2. Disable using --no-webkit2\n";
-    }
-
-    @options = (@ARGV, @options);
-
-    foreach (@features) {
-        if ($_->{define} && ${$_->{value}} != $_->{default}) {
-            my $define = lc($_->{define});
-            $define =~ s/^enable_//;
-            push @options, "WEBKIT_CONFIG" . (${$_->{value}} == 1 ? "+" : "-") . "=" . $define;
-        }
-    }
 }
 
 # If asked to build just the WebKit project, overwrite the projects
@@ -307,12 +257,6 @@ if (isBlackBerry()) {
     buildCMakeProjectOrExit($clean, "BlackBerry", $prefixPath, $makeArgs, (cmakeBasedPortArguments(), cMakeArgsFromFeatures()), $cmakeArgs);
 }
 
-if (isQt()) {
-    @projects = (); # An empty projects list will build the default projects
-    $result = buildQMakeProjects(\@projects, $clean, @options);
-    exit exitStatus($result) if exitStatus($result);
-}
-
 # Build, and abort if the build fails.
 for my $dir (@projects) {
     chdir $dir or die;
index e5b2354..b29516b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2010 Apple Inc. All rights reserved.
+# Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -63,8 +63,8 @@ if (isAppleMacWebKit()) {
     $result = buildXCodeProject("WebKitTestRunner", $clean, XcodeOptions(), @ARGV);
 } elsif (isAppleWinWebKit()) {
     $result = buildVisualStudioProject("WebKitTestRunner.sln", $clean);
-} elsif (isQt() || isGtk() || isEfl()) {
-    # Qt and GTK+ build everything in one shot. No need to build anything here.
+} elsif (isGtk() || isEfl()) {
+    # GTK+ and EFL build everything in one shot. No need to build anything here.
     $result = 0;
 } else {
     die "WebKitTestRunner is not supported on this platform.\n";
index 5605414..c86090d 100755 (executable)
@@ -1,6 +1,6 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
 # Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com)
 # Copyright (C) 2007 Eric Seidel <eric@webkit.org>
@@ -230,8 +230,6 @@ if (isAppleMacWebKit()) {
     } else {
         $platform = "mac";
     }
-} elsif (isQt()) {
-    $platform = "qt";
 } elsif (isGtk()) {
     $platform = "gtk";
 } elsif (isWinCairo()) {
@@ -248,12 +246,11 @@ if (isAppleMacWebKit()) {
     }
 }
 
-if (isQt() || isAppleWinWebKit()) {
+if (isAppleWinWebKit()) {
     my $testfontPath = $ENV{"WEBKIT_TESTFONTS"};
     if (!$testfontPath || !-d "$testfontPath") {
         print "The WEBKIT_TESTFONTS environment variable is not defined or not set properly\n";
         print "You must set it before running the tests.\n";
-        print "Use git to grab the actual fonts from http://gitorious.org/qtwebkit/testfonts\n";
         exit 1;
     }
 }
@@ -317,7 +314,7 @@ Usage: $programName [options] [testdir|testpath ...]
   --[no-]strip-editing-callbacks  Remove editing callbacks from expected results
   -t|--threaded                   Run a concurrent JavaScript thead with each test
   --timeout t                     Sets the number of seconds before a test times out (default: $timeoutSeconds)
-  --valgrind                      Run DumpRenderTree inside valgrind (Qt/Linux only)
+  --valgrind                      Run DumpRenderTree inside valgrind (Linux only)
   -v|--verbose                    More verbose output (overrides --quiet)
   -m|--merge-leak-depth arg       Merges leak callStacks and prints the number of unique leaks beneath a callstack depth of arg.  Defaults to 5.
   --use-remote-links-to-tests     Link to test files within the SVN repository in the results.
@@ -389,9 +386,6 @@ if ($useWebKitTestRunner) {
         $stripEditingCallbacks = 0 unless defined $stripEditingCallbacks;
         $realPlatform = $platform;
         $platform = "win-wk2";
-    } elsif (isQt()) {
-        $realPlatform = $platform;
-        $platform = "qt-5.0-wk2";
     } elsif (isGtk()) {
         $realPlatform = $platform;
         $platform = "gtk-wk2";
@@ -420,7 +414,6 @@ $useRemoteLinksToTests = 0 if isGtk();
 
 setConfigurationProductDir(Cwd::abs_path($root)) if (defined($root));
 my $productDir = productDir();
-$productDir .= "/bin" if isQt();
 $productDir .= "/Programs" if isGtk();
 
 # Save the current directory before chaging it via chdirWebKit
@@ -1207,17 +1200,6 @@ my @configurationArgs = argumentsForConfiguration();
 if (isGtk()) {
   push(@configurationArgs, '-2') if $useWebKitTestRunner;
   system "Tools/Scripts/run-launcher", @configurationArgs, "file://".$testResults if $launchSafari;
-} elsif (isQt()) {
-  if (getQtVersion() lt "5.0") {
-    unshift @configurationArgs, qw(-style windows);
-    unshift @configurationArgs, qw(-graphicssystem raster);
-  }
-  if (isCygwin()) {
-    $testResults = "/" . toWindowsPath($testResults);
-    $testResults =~ s/\\/\//g;
-  }
-  push(@configurationArgs, '-2') if $useWebKitTestRunner;
-  system "Tools/Scripts/run-launcher", @configurationArgs, "file://".$testResults if $launchSafari;
 } elsif (isCygwin()) {
   system "cygstart", $testResults if $launchSafari;
 } elsif (isWindows()) {
@@ -1514,20 +1496,11 @@ sub openDumpTool()
         }
     }
 
-    if (isQt()) {
-        $CLEAN_ENV{QTWEBKIT_PLUGIN_PATH} = productDir() . "/lib/plugins";
-        $CLEAN_ENV{QT_DRT_WEBVIEW_MODE} = $ENV{"QT_DRT_WEBVIEW_MODE"};
-    }
-    
     my @args = ($dumpTool, @toolArgs);
     if (isAppleMacWebKit()) { 
         unshift @args, "arch", "-" . architecture();             
     }
 
-    if ($useValgrind) {
-        unshift @args, "valgrind", "--suppressions=$platformBaseDirectory/qt/SuppressedValgrindErrors";
-    } 
-
     if ($useWebKitTestRunner) {
         # Make WebKitTestRunner use a similar timeout. We don't use the exact same timeout to avoid
         # race conditions.
@@ -2169,36 +2142,6 @@ sub buildPlatformResultHierarchy()
         if ($platform eq "wincairo") {
             @platforms = $platform;
         }
-    } elsif ($platform =~ /^qt/) {
-        if ($platform eq "qt-5.0-wk2" || getQtVersion() eq "5.0" && $useWebKitTestRunner) {
-            push @platforms, "qt-5.0-wk2";
-        }
-        elsif ($platform eq "qt-5.0-wk1" || getQtVersion() eq "5.0" && !$useWebKitTestRunner) {
-            push @platforms, "qt-5.0-wk1"
-        }
-
-        if (isARM() || $platform eq "qt-arm") {
-            push @platforms, "qt-arm";
-        }
-
-        if (isDarwin() || $platform eq "qt-mac") {
-            push @platforms, "qt-mac";
-        }
-        elsif (isWindows() || isCygwin() || $platform eq "qt-win") {
-            push @platforms, "qt-win";
-        }
-        elsif (isLinux() || $platform eq "qt-linux") {
-            push @platforms, "qt-linux";
-        }
-
-        if (getQtVersion() eq "4.8" || $platform eq "qt-4.8") {
-            push @platforms, "qt-4.8";
-        }
-        elsif (getQtVersion() eq "5.0" || $platform eq "qt-5.0") {
-            push @platforms, "qt-5.0";
-        }
-
-        push @platforms, "qt";
     } elsif ($platform =~ /^gtk-/) {
         push @platforms, $platform;
         push @platforms, "gtk";
@@ -2222,24 +2165,18 @@ sub buildPlatformTestHierarchy(@)
     my (@platformHierarchy) = @_;
 
     my @result;
-    if ($platform =~ /^qt/) {
-        for (my $i = 0; $i < @platformHierarchy; ++$i) {
-           push @result, $platformHierarchy[$i];
-        }
-    } else {
-        my $wk2Platform;
-        for (my $i = 0; $i < @platformHierarchy; ++$i) {
-            if ($platformHierarchy[$i] =~ /-wk2/) {
-                $wk2Platform = splice @platformHierarchy, $i, 1;
-                last;
-            }
+    my $wk2Platform;
+    for (my $i = 0; $i < @platformHierarchy; ++$i) {
+        if ($platformHierarchy[$i] =~ /-wk2/) {
+            $wk2Platform = splice @platformHierarchy, $i, 1;
+            last;
         }
-
-       push @result, $platformHierarchy[0];
-       push @result, $wk2Platform if defined $wk2Platform;
-       push @result, $platformHierarchy[$#platformHierarchy] if @platformHierarchy >= 2;
     }
 
+    push @result, $platformHierarchy[0];
+    push @result, $wk2Platform if defined $wk2Platform;
+    push @result, $platformHierarchy[$#platformHierarchy] if @platformHierarchy >= 2;
+
     if ($verbose) {
         my @searchPaths;
         foreach my $searchPath (@result) {
@@ -2503,9 +2440,9 @@ sub readSkippedFiles($)
     my @skippedFileDirectories = @platformTestHierarchy;
 
     # Because nearly all of the skipped tests for WebKit 2 on Mac are due to
-    # cross-platform issues, the Windows and Qt ports use the Mac skipped list
+    # cross-platform issues, the Windows ports use the Mac skipped list
     # additionally to their own to avoid maintaining separate lists.
-    push(@skippedFileDirectories, catdir($platformBaseDirectory, "wk2")) if ($platform eq "win-wk2" || $platform eq "qt-5.0-wk2" || $platform eq "mac-wk2" || $platform eq "gtk-wk2");
+    push(@skippedFileDirectories, catdir($platformBaseDirectory, "wk2")) if ($platform eq "win-wk2" || $platform eq "mac-wk2" || $platform eq "gtk-wk2");
 
     if ($verbose) {
         foreach my $skippedPath (@skippedFileDirectories) {
index 66886fe..b89611f 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2007 Apple Computer, Inc.  All rights reserved.
+# Copyright (C) 2007, 2013 Apple Computer, Inc.  All rights reserved.
 # Copyright (C) 2007 Staikos Computing Services, Inc.  <info@staikos.net>
 #
 # Redistribution and use in source and binary forms, with or without
@@ -44,47 +44,27 @@ my $launcherPath = productDir();
 checkFrameworks();
 
 # Set paths according to the build system used
-if (isQt()) {
-    my $libDir = catdir(productDir(), 'lib');
+if (isGtk()) {
     if (isWK2()) {
-        $launcherPath = catdir($launcherPath, "bin", "MiniBrowser");
+        unshift(@ARGV, catdir($launcherPath, "Programs", "MiniBrowser"));
     } else {
-        $launcherPath = catdir($launcherPath, "bin", "QtTestBrowser");
+        unshift(@ARGV, catdir($launcherPath, "Programs", "GtkLauncher"));
     }
+    $launcherPath = catdir(sourceDir(), "Tools", "jhbuild", "jhbuild-wrapper");
+    unshift(@ARGV, ("--gtk", "run"));
+}
 
-    $ENV{QTWEBKIT_PLUGIN_PATH} = catdir($libDir, 'plugins');
-
-    print "Starting webkit launcher, running against the built WebKit in $libDir...\n";
-    if (isDarwin()) {
-        $ENV{DYLD_LIBRARY_PATH} = $ENV{DYLD_LIBRARY_PATH} ? "$libDir:$ENV{DYLD_LIBRARY_PATH}" : $libDir;
-        $ENV{DYLD_FRAMEWORK_PATH} = $ENV{DYLD_FRAMEWORK_PATH} ? "$libDir:$ENV{DYLD_FRAMEWORK_PATH}" : $libDir;
+if (isEfl()) {
+    if (isWK2()) {
+        unshift(@ARGV, catdir($launcherPath, "bin", "MiniBrowser"));
     } else {
-        $ENV{LD_LIBRARY_PATH} = $ENV{LD_LIBRARY_PATH} ? "$libDir:$ENV{LD_LIBRARY_PATH}" : $libDir;
-    }
-} else {
-
-    if (isGtk()) {
-        if (isWK2()) {
-            unshift(@ARGV, catdir($launcherPath, "Programs", "MiniBrowser"));
-        } else {
-            unshift(@ARGV, catdir($launcherPath, "Programs", "GtkLauncher"));
-        }
-        $launcherPath = catdir(sourceDir(), "Tools", "jhbuild", "jhbuild-wrapper");
-        unshift(@ARGV, ("--gtk", "run"));
+        unshift(@ARGV, catdir($launcherPath, "bin", "EWebLauncher"));
     }
-
-    if (isEfl()) {
-        if (isWK2()) {
-            unshift(@ARGV, catdir($launcherPath, "bin", "MiniBrowser"));
-        } else {
-            unshift(@ARGV, catdir($launcherPath, "bin", "EWebLauncher"));
-        }
-        $launcherPath = catdir(sourceDir(), "Tools", "jhbuild", "jhbuild-wrapper");
-        unshift(@ARGV, ("--efl", "run"));
-    }
-
-    print "Starting webkit launcher.\n";
+    $launcherPath = catdir(sourceDir(), "Tools", "jhbuild", "jhbuild-wrapper");
+    unshift(@ARGV, ("--efl", "run"));
 }
 
+print "Starting webkit launcher.\n";
+
 exec $launcherPath, @ARGV or die;
 
diff --git a/Tools/Scripts/run-qtwebkit-tests b/Tools/Scripts/run-qtwebkit-tests
deleted file mode 100755 (executable)
index ea8d409..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-#Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
-
-#This library is free software; you can redistribute it and/or
-#modify it under the terms of the GNU Library General Public
-#License as published by the Free Software Foundation; either
-#version 2 of the License, or (at your option) any later version.
-
-#This library is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#Library General Public License for more details.
-
-#You should have received a copy of the GNU Library General Public License
-#along with this library; see the file COPYING.LIB.  If not, write to
-#the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-#Boston, MA 02110-1301, USA.
-
-from __future__ import with_statement
-
-import sys
-import os
-import re
-import logging
-from subprocess import Popen, PIPE, STDOUT
-from optparse import OptionParser
-
-
-class Log(object):
-    def __init__(self, name):
-        self._log = logging.getLogger(name)
-        self.debug = self._log.debug
-        self.warn = self._log.warn
-        self.error = self._log.error
-        self.exception = self._log.exception
-        self.info = self._log.info
-
-
-class Options(Log):
-    """ Option manager. It parses and checks script's parameters, sets an internal variable. """
-
-    def __init__(self, args):
-        Log.__init__(self, "Options")
-        log = self._log
-        opt = OptionParser("%prog [options] [PathToSearch].\nTry -h or --help.")
-        opt.add_option("-j", "--parallel-level", action="store", type="int",
-              dest="parallel_level", default=None,
-              help="Number of parallel processes executing the Qt's tests. Default: cpu count.")
-        opt.add_option("-v", "--verbose", action="store", type="int",
-              dest="verbose", default=2,
-              help="Verbose level (0 - quiet, 1 - errors only, 2 - infos and warnings, 3 - debug information). Default: %default.")
-        opt.add_option("", "--tests-options", action="store", type="string",
-              dest="tests_options", default="",
-              help="Parameters passed to Qt's tests (for example '-eventdelay 123').")
-        opt.add_option("-o", "--output-file", action="store", type="string",
-              dest="output_file", default="/tmp/qtwebkittests.html",
-              help="File where results will be stored. The file will be overwritten. Default: %default.")
-        opt.add_option("-b", "--browser", action="store", dest="browser",
-              default="xdg-open",
-              help="Browser in which results will be opened. Default %default.")
-        opt.add_option("", "--do-not-open-results", action="store_false",
-              dest="open_results", default=True,
-              help="The results shouldn't pop-up in a browser automatically")
-        opt.add_option("-d", "--developer-mode", action="store_true",
-              dest="developer", default=False,
-              help="Special mode for debugging. In general it simulates human behavior, running all autotests. In the mode everything is executed synchronously, no html output will be generated, no changes or transformation will be applied to stderr or stdout. In this mode options; parallel-level, output-file, browser and do-not-open-results will be ignored.")
-        opt.add_option("-t", "--timeout", action="store", type="int",
-              dest="timeout", default=0,
-              help="Timeout in seconds for each testsuite. Zero value means that there is not timeout. Default: %default.")
-        opt.add_option("--release", action="store_true", dest="release", default=True,
-              help="Run API tests in WebKitBuild/Release/... directory. It is ignored if PathToSearch is passed.")
-        opt.add_option("--debug", action="store_false", dest="release",
-              help="Run API tests in WebKitBuild/Debug/... directory. It is ignored if PathToSearch is passed.")
-        opt.add_option("-2", "--webkit2", action="store_true", dest="webkit2", default=False,
-              help="Run WebKit2 API tests. Default: Run WebKit1 API tests. It is ignored if PathToSearch is passed.")
-
-        self._o, self._a = opt.parse_args(args)
-        verbose = self._o.verbose
-        if verbose == 0:
-            logging.basicConfig(level=logging.CRITICAL,)
-        elif verbose == 1:
-            logging.basicConfig(level=logging.ERROR,)
-        elif verbose == 2:
-            logging.basicConfig(level=logging.INFO,)
-        elif verbose == 3:
-            logging.basicConfig(level=logging.DEBUG,)
-        else:
-            logging.basicConfig(level=logging.INFO,)
-            log.warn("Bad verbose level, switching to default.")
-
-        if self._o.release:
-            configuration = "Release"
-        else:
-            configuration = "Debug"
-
-        if self._o.webkit2:
-            test_directory = "WebKit2/UIProcess/API/qt/tests/"
-        else:
-            test_directory = "WebKit/qt/tests/"
-
-        try:
-            if len(self._a) == 0:
-                self._o.path = "WebKitBuild/%s/Source/%s" % (configuration, test_directory)
-            else:
-                if len(self._a) > 1:
-                    raise IndexError("Only one directory should be provided.")
-                self._o.path = self._a[0]
-
-            if not os.path.exists(self._o.path):
-                raise Exception("Given path doesn't exist.")
-        except IndexError:
-            log.error("Bad usage. Please try -h or --help.")
-            sys.exit(1)
-        except Exception:
-            log.error("Path '%s' doesn't exist", self._o.path)
-            sys.exit(2)
-
-        if self._o.developer:
-            if not self._o.parallel_level is None:
-                log.warn("Developer mode sets parallel-level option to one.")
-            self._o.parallel_level = 1
-            self._o.open_results = False
-
-    def __getattr__(self, attr):
-        """ Maps all options properties into this object (remove one level of indirection). """
-        return getattr(self._o, attr)
-
-
-def run_test(args):
-    """ Runs one given test.
-    args should contain a tuple with 3 elements;
-      TestSuiteResult containing full file name of an autotest executable.
-      str with options that should be passed to the autotest executable
-      bool if true then the stdout will be buffered and separated from the stderr, if it is false
-        then the stdout and the stderr will be merged together and left unbuffered (the TestSuiteResult output will be None).
-      int time after which the autotest executable would be killed
-    """
-    log = logging.getLogger("Exec")
-    test_suite, options, buffered, timeout = args
-    timer = None
-    try:
-        log.info("Running... %s", test_suite.test_file_name())
-        if buffered:
-            tst = Popen([test_suite.test_file_name()] + options.split(), stdout=PIPE, stderr=None)
-        else:
-            tst = Popen([test_suite.test_file_name()] + options.split(), stdout=None, stderr=STDOUT)
-        if timeout:
-            from threading import Timer
-            log.debug("Setting timeout timer %i sec on %s (process %s)", timeout, test_suite.test_file_name(), tst.pid)
-            def process_killer():
-                try:
-                    try:
-                        tst.terminate()
-                    except AttributeError:
-                        # Workaround for python version < 2.6 it can be removed as soon as we drop support for python2.5
-                        try:
-                            import ctypes
-                            PROCESS_TERMINATE = 1
-                            handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, False, tst.pid)
-                            ctypes.windll.kernel32.TerminateProcess(handle, -1)
-                            ctypes.windll.kernel32.CloseHandle(handle)
-                        except AttributeError:
-                            # windll is not accessible so we are on *nix like system
-                            import signal
-                            os.kill(tst.pid, signal.SIGTERM)
-                    log.error("Timeout, process '%s' (%i) was terminated", test_suite.test_file_name(), tst.pid)
-                except OSError, e:
-                    # the process was finished before got killed
-                    pass
-            timer = Timer(timeout, process_killer)
-            timer.start()
-    except OSError, e:
-        log.exception("Can't open an autotest file: '%s'. Skipping the test...", e.filename)
-    else:
-        test_suite.set_output(tst.communicate()[0])  # takes stdout only, in developer mode it would be None.
-    log.info("Finished %s", test_suite.test_file_name())
-    if timeout:
-        timer.cancel()
-    return test_suite
-
-
-class TestSuiteResult(object):
-    """ Keeps information about a test. """
-
-    def __init__(self):
-        self._output = None
-        self._test_file_name = None
-
-    def set_output(self, xml):
-        if xml:
-            self._output = xml.strip()
-
-    def output(self):
-        return self._output
-
-    def set_test_file_name(self, file_name):
-        self._test_file_name = file_name
-
-    def test_file_name(self):
-        return self._test_file_name
-
-
-class Main(Log):
-    """ The main script. All real work is done in run() method. """
-
-    def __init__(self, options):
-        Log.__init__(self, "Main")
-        self._options = options
-        if options.parallel_level > 1 or options.parallel_level is None:
-            try:
-                from multiprocessing import Pool
-            except ImportError:
-                self.warn("Import Error: the multiprocessing module couldn't be loaded (may be lack of python-multiprocessing package?). The Qt autotests will be executed one by one.")
-                options.parallel_level = 1
-        if options.parallel_level == 1:
-
-            class Pool(object):
-                """ A hack, created to avoid problems with multiprocessing module, this class is single thread replacement for the multiprocessing.Pool class. """
-                def __init__(self, processes):
-                    pass
-
-                def imap_unordered(self, func, files):
-                    return map(func, files)
-
-                def map(self, func, files):
-                    return map(func, files)
-
-        self._Pool = Pool
-
-    def run(self):
-        """ Find && execute && publish results of all test. "All in one" function. """
-        # This is needed for Qt finding our QML modules. The current code makes our
-        # two existing API tests (WK1 API and WK2 UI process API) work correctly.
-        qml_import_path = self._options.path + "../../../../imports"
-        qml_import_path += ":" + self._options.path + "../../../../../../imports"
-        os.putenv("QML_IMPORT_PATH", qml_import_path)
-        path = os.getenv("PATH")
-        path += ":" + self._options.path + "../../../../../../bin"
-        os.putenv("PATH", path)
-        self.debug("Searching executables...")
-        tests_executables = self.find_tests_paths(self._options.path)
-        self.debug("Found: %s", len(tests_executables))
-        self.debug("Executing tests...")
-        results = self.run_tests(tests_executables)
-        if not self._options.developer:
-            self.debug("Transforming...")
-            transformed_results = self.transform(results)
-            self.debug("Publishing...")
-            self.announce_results(transformed_results)
-
-    def find_tests_paths(self, path):
-        """ Finds all tests executables inside the given path. """
-        executables = []
-        for root, dirs, files in os.walk(path):
-            # Check only for a file that name starts from 'tst_' and that we can execute.
-            filtered_path = filter(lambda w: w.startswith('tst_') and os.access(os.path.join(root, w), os.X_OK), files)
-            filtered_path = map(lambda w: os.path.join(root, w), filtered_path)
-            for file_name in filtered_path:
-                r = TestSuiteResult()
-                r.set_test_file_name(file_name)
-                executables.append(r)
-        return executables
-
-    def run_tests(self, files):
-        """ Executes given files by using a pool of workers. """
-        workers = self._Pool(processes=self._options.parallel_level)
-        # to each file add options.
-        self.debug("Using %s the workers pool, number of workers %i", repr(workers), self._options.parallel_level)
-        package = map(lambda w: [w, self._options.tests_options, not self._options.developer, self._options.timeout], files)
-        self.debug("Generated packages for workers: %s", repr(package))
-        results = workers.map(run_test, package)  # Collects results.
-        return results
-
-    def transform(self, results):
-        """ Transforms list of the results to specialized versions. """
-        stdout = self.convert_to_stdout(results)
-        html = self.convert_to_html(results)
-        return {"stdout": stdout, "html": html}
-
-    def announce_results(self, results):
-        """ Shows the results. """
-        self.announce_results_stdout(results['stdout'])
-        self.announce_results_html(results['html'])
-
-    def announce_results_stdout(self, results):
-        """ Show the results by printing to the stdout."""
-        print(results)
-
-    def announce_results_html(self, results):
-        """ Shows the result by creating a html file and calling a web browser to render it. """
-        with file(self._options.output_file, 'w') as f:
-            f.write(results)
-        if self._options.open_results:
-            Popen(self._options.browser + " " + self._options.output_file, stdout=None, stderr=None, shell=True)
-
-    def check_crash_occurences(self, results):
-        """ Checks if any test crashes and it sums them  """
-        totals = [0,0,0]
-        crash_count = 0
-        txt = []
-        #collecting results into one container with checking crash
-        for result in results:
-            found = None
-            if result.output():
-                txt.append(result.output())
-                found = re.search(r"([0-9]+) passed, ([0-9]+) failed, ([0-9]+) skipped", result.output())
-
-            if found:
-                totals = reduce(lambda x, y: (int(x[0]) + int(y[0]), int(x[1]) + int(y[1]), int(x[2]) + int(y[2])), (totals, found.groups()))
-            else:
-                txt.append('CRASHED: %s' % result.test_file_name())
-                crash_count += 1
-                self.warn("Missing sub-summary: %s" % result.test_file_name())
-
-        txt='\n\n'.join(txt)
-
-        totals = list(totals)
-        totals.append(crash_count)
-        totals = map(str, totals)
-        return txt, totals
-
-    def convert_to_stdout(self, results):
-        """ Converts results, that they could be nicely presented in the stdout. """
-        txt, totals = self.check_crash_occurences(results)
-
-        totals = "%s passed, %s failed, %s skipped, %s crashed" % (totals[0], totals[1], totals[2], totals[3])
-
-        txt += '\n' + '*' * 70
-        txt += "\n**" + ("TOTALS: " + totals).center(66) + '**'
-        txt += '\n' + '*' * 70 + '\n'
-        return txt
-
-    def convert_to_html(self, results):
-        """ Converts results, that they could showed as a html page. """
-        txt, totals = self.check_crash_occurences(results)
-        txt = txt.replace('&', '&amp;').replace('<', "&lt;").replace('>', "&gt;")
-        # Add a color and a style.
-        txt = re.sub(r"([* ]+(Finished)[ a-z_A-Z0-9]+[*]+)",
-            lambda w: r"",
-            txt)
-        txt = re.sub(r"([*]+[ a-z_A-Z0-9]+[*]+)",
-            lambda w: "<case class='good'><br><br><b>" + w.group(0) + r"</b></case>",
-            txt)
-        txt = re.sub(r"(Config: Using QTest library)((.)+)",
-            lambda w: "\n<case class='good'><br><i>" + w.group(0) + r"</i>  ",
-            txt)
-        txt = re.sub(r"\n(PASS)((.)+)",
-            lambda w: "</case>\n<case class='good'><br><status class='pass'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(FAIL!)((.)+)",
-            lambda w: "</case>\n<case class='bad'><br><status class='fail'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(XPASS)((.)+)",
-            lambda w: "</case>\n<case class='bad'><br><status class='xpass'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(XFAIL)((.)+)",
-            lambda w: "</case>\n<case class='good'><br><status class='xfail'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(SKIP)((.)+)",
-            lambda w: "</case>\n<case class='good'><br><status class='xfail'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(QWARN)((.)+)",
-            lambda w: "</case>\n<case class='bad'><br><status class='warn'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(RESULT)((.)+)",
-            lambda w: "</case>\n<case class='good'><br><status class='benchmark'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(QFATAL|CRASHED)((.)+)",
-            lambda w: "</case>\n<case class='bad'><br><status class='crash'>" + w.group(1) + r"</status>" + w.group(2),
-            txt)
-        txt = re.sub(r"\n(Totals:)([0-9', a-z]*)",
-            lambda w: "</case>\n<case class='good'><br><b>" + w.group(1) + r"</b>" + w.group(2) + "</case>",
-            txt)
-        # Find total count of failed, skipped, passed and crashed tests.
-        totals = "%s passed, %s failed, %s skipped, %s crashed." % (totals[0], totals[1], totals[2], totals[3])
-        # Create a header of the html source.
-        txt = """
-        <html>
-        <head>
-          <script>
-          function init() {
-              // Try to find the right styleSheet (this document could be embedded in an other html doc)
-              for (i = document.styleSheets.length - 1; i >= 0; --i) {
-                  if (document.styleSheets[i].cssRules[0].selectorText == "case.good") {
-                      resultStyleSheet = i;
-                      return;
-                  }
-              }
-              // The styleSheet hasn't been found, but it should be the last one.
-              resultStyleSheet = document.styleSheets.length - 1;
-          }
-
-          function hide() {
-              document.styleSheets[resultStyleSheet].cssRules[0].style.display='none';
-          }
-
-          function show() {
-              document.styleSheets[resultStyleSheet].cssRules[0].style.display='';
-          }
-
-          </script>
-          <style type="text/css">
-            case.good {color:black}
-            case.bad {color:black}
-            status.pass {color:green}
-            status.crash {color:red}
-            status.fail {color:red}
-            status.xpass {color:663300}
-            status.xfail {color:004500}
-            status.benchmark {color:000088}
-            status.warn {color:orange}
-            status.crash {color:red; text-decoration:blink; background-color:black}
-          </style>
-        </head>
-        <body onload="init()">
-        <center>
-          <h1>Qt's autotests results</h1>%(totals)s<br>
-          <hr>
-          <form>
-            <input type="button" value="Show failures only" onclick="hide()"/>
-            &nbsp;
-            <input type="button" value="Show all" onclick="show()"/>
-          </form>
-        </center>
-        <hr>
-        %(results)s
-        </body>
-        </html>""" % {"totals": totals, "results": txt}
-        return txt
-
-
-if __name__ == '__main__':
-    options = Options(sys.argv[1:])
-    main = Main(options)
-    main.run()
index fd507e4..32e87a6 100755 (executable)
@@ -1,5 +1,6 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -57,9 +58,7 @@ sub runningOnBuildBot()
 
 sub useNewRunWebKitTests()
 {
-    # NRWT does not support qt-arm: https://bugs.webkit.org/show_bug.cgi?id=64086
-    return 0 if isQt() and isARM();
-    # All other platforms should use NRWT by default.
+    # All platforms should use NRWT by default.
     return 1;
 }
 
@@ -75,18 +74,9 @@ if (useNewRunWebKitTests()) {
     }
 }
 
-# webkitdirs.pm strips --qt and --gtk from @ARGV when we call isQt/isGtk.
+# webkitdirs.pm strips --gtk from @ARGV when we call isGtk.
 # We have to add back any --PORT arguments which may have been removed by isPort() checks above.
-if (isQt()) {
-    my $isPlatformSet = 0;
-    for (@ARGV){
-        # Pass --qt if platform isn't passed explicitly (eg. qt-5.0, qt-wk2, ...)
-        if(/^--platform.*/){
-            $isPlatformSet = 1;
-        }
-    }
-    push(@ARGV, "--qt") if(!$isPlatformSet);
-} elsif (isGtk()) {
+if (isGtk()) {
     push(@ARGV, "--gtk");
 } elsif (isEfl()) {
     push(@ARGV, "--efl");
index 485eb74..fec1f91 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2009 Google Inc. All rights reserved.
 # Copyright (C) 2011 Brent Fulgham. All rights reserved.
 #
@@ -46,7 +46,6 @@ sub runGitUpdate();
 my $quiet = '';
 my $showHelp;
 
-determineIsQt();
 determineIsWinCairo();
 
 chdirWebKit();
index d19ce04..4ab92da 100755 (executable)
@@ -1,6 +1,7 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
 
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -49,7 +50,6 @@ Usage: $programName [options]
   --blackberry          Find the build directory for the BlackBerry port on Mac/Linux
   --efl                 Find the build directory for the EFL port
   --gtk                 Find the build directory for the GTK+ port
-  --qt                  Find the build directory for the Qt port
   --wincairo            Find the build directory for using Cairo (rather than CoreGraphics) on Windows
   --wince               Find the build directory for the WinCE port
 
index 031fea1..ca6fb6d 100755 (executable)
@@ -89,8 +89,6 @@ my $debugger;
 my $nmPath;
 my $osXVersion;
 my $generateDsym;
-my $isQt;
-my $qmakebin = "qmake"; # Allow override of the qmake binary from $PATH
 my $isGtk;
 my $isWinCE;
 my $isWinCairo;
@@ -143,11 +141,6 @@ sub currentPerlPath()
     return $thisPerl;
 }
 
-sub setQmakeBinaryPath($)
-{
-    ($qmakebin) = @_;
-}
-
 # used for scripts which are stored in a non-standard location
 sub setSourceDir($)
 {
@@ -380,7 +373,6 @@ sub argumentsForConfiguration()
     push(@args, '--debug') if $configuration eq "Debug";
     push(@args, '--release') if $configuration eq "Release";
     push(@args, '--32-bit') if $architecture ne "x86_64";
-    push(@args, '--qt') if isQt();
     push(@args, '--gtk') if isGtk();
     push(@args, '--efl') if isEfl();
     push(@args, '--wincairo') if isWinCairo();
@@ -537,7 +529,7 @@ sub productDir
 sub jscProductDir
 {
     my $productDir = productDir();
-    $productDir .= "/bin" if (isQt() || isEfl());
+    $productDir .= "/bin" if isEfl();
     $productDir .= "/Programs" if isGtk();
 
     return $productDir;
@@ -797,48 +789,6 @@ sub builtDylibPathForName
         my $libraryExtension = $libraryName =~ /^WebKit$/i ? ".so" : ".a";
         return "$configurationProductDir/$libraryName/lib" . lc($libraryName) . $libraryExtension;
     }
-    if (isQt()) {
-        my $isSearchingForWebCore = $libraryName =~ "WebCore";
-        if (isDarwin()) {
-            $libraryName = "QtWebKitWidgets";
-        } else {
-            $libraryName = "Qt5WebKitWidgets";
-        }
-        my $result;
-        if (isDarwin() and -d "$configurationProductDir/lib/$libraryName.framework") {
-            $result = "$configurationProductDir/lib/$libraryName.framework/$libraryName";
-        } elsif (isDarwin() and -d "$configurationProductDir/lib") {
-            $result = "$configurationProductDir/lib/lib$libraryName.dylib";
-        } elsif (isWindows()) {
-            if (configuration() eq "Debug") {
-                # On Windows, there is a "d" suffix to the library name. See <http://trac.webkit.org/changeset/53924/>.
-                $libraryName .= "d";
-            }
-
-            chomp(my $mkspec = `$qmakebin -query QT_HOST_DATA`);
-            $mkspec .= "/mkspecs";
-            my $qtMajorVersion = retrieveQMakespecVar("$mkspec/qconfig.pri", "QT_MAJOR_VERSION");
-            if (not $qtMajorVersion) {
-                $qtMajorVersion = "";
-            }
-
-            $result = "$configurationProductDir/lib/$libraryName$qtMajorVersion.dll";
-        } else {
-            $result = "$configurationProductDir/lib/lib$libraryName.so";
-        }
-
-        if ($isSearchingForWebCore) {
-            # With CONFIG+=force_static_libs_as_shared we have a shared library for each subdir.
-            # For feature detection to work it is necessary to return the path of the WebCore library here.
-            my $replacedWithWebCore = $result;
-            $replacedWithWebCore =~ s/$libraryName/WebCore/g;
-            if (-e $replacedWithWebCore) {
-                return $replacedWithWebCore;
-            }
-        }
-
-        return $result;
-    }
     if (isGtk()) {
         # WebKitGTK+ for GTK2, WebKitGTK+ for GTK3, and WebKit2 respectively.
         my @libraries = ("libwebkitgtk-1.0", "libwebkitgtk-3.0", "libwebkit2gtk-3.0");
@@ -900,56 +850,6 @@ sub determineIsInspectorFrontend()
     $isInspectorFrontend = checkForArgumentAndRemoveFromARGV("--inspector-frontend");
 }
 
-sub isQt()
-{
-    determineIsQt();
-    return $isQt;
-}
-
-sub getQtVersion()
-{
-    my $qtVersion = `$qmakebin --version`;
-    $qtVersion =~ s/^(.*)Qt version (\d\.\d)(.*)/$2/s ;
-    return $qtVersion;
-}
-
-sub qtFeatureDefaults
-{
-    die "ERROR: qmake missing but required to build WebKit.\n" if not commandExists($qmakebin);
-
-    my $oldQmakeEval = $ENV{QMAKE_CACHE_EVAL};
-    $ENV{QMAKE_CACHE_EVAL} = "CONFIG+=print_defaults";
-
-    my $originalCwd = getcwd();
-    my $qmakepath = File::Spec->catfile(sourceDir(), "Tools", "qmake");
-    chdir $qmakepath or die "Failed to cd into " . $qmakepath . "\n";
-
-    my $file = File::Spec->catfile(sourceDir(), "WebKit.pro");
-
-    my @buildArgs;
-    @buildArgs = (@buildArgs, @{$_[0]}) if (@_);
-
-    my @defaults = `$qmakebin @buildArgs $file 2>&1`;
-
-    my %qtFeatureDefaults;
-    for (@defaults) {
-        if (/DEFINES: /) {
-            while (/(\S+?)=(\S+?)/gi) {
-                $qtFeatureDefaults{$1}=$2;
-            }
-        } elsif (/Done computing defaults/) {
-            last;
-        } elsif (@_) {
-            print $_;
-        }
-    }
-
-    chdir $originalCwd;
-    $ENV{QMAKE_CACHE_EVAL} = $oldQmakeEval;
-
-    return %qtFeatureDefaults;
-}
-
 sub commandExists($)
 {
     my $command = shift;
@@ -992,25 +892,6 @@ sub isWK2()
     return $isWK2;
 }
 
-sub determineIsQt()
-{
-    return if defined($isQt);
-
-    # Allow override in case QTDIR is not set.
-    if (checkForArgumentAndRemoveFromARGV("--qt")) {
-        $isQt = 1;
-        return;
-    }
-
-    # The presence of QTDIR only means Qt if --gtk or --efl or --blackberry or --wincairo are not on the command-line
-    if (isGtk() || isEfl() || isBlackBerry() || isWinCairo()) {
-        $isQt = 0;
-        return;
-    }
-
-    $isQt = defined($ENV{'QTDIR'});
-}
-
 sub isBlackBerry()
 {
     determineIsBlackBerry();
@@ -1304,7 +1185,7 @@ sub isCrossCompilation()
 
 sub isAppleWebKit()
 {
-    return !(isQt() or isGtk() or isEfl() or isWinCE() or isBlackBerry());
+    return !(isGtk() or isEfl() or isWinCE() or isBlackBerry());
 }
 
 sub isAppleMacWebKit()
@@ -1495,7 +1376,7 @@ sub relativeScriptsDir()
 sub launcherPath()
 {
     my $relativeScriptsPath = relativeScriptsDir();
-    if (isGtk() || isQt() || isEfl() || isWinCE()) {
+    if (isGtk() || isEfl() || isWinCE()) {
         return "$relativeScriptsPath/run-launcher";
     } elsif (isAppleWebKit()) {
         return "$relativeScriptsPath/run-safari";
@@ -1506,8 +1387,6 @@ sub launcherName()
 {
     if (isGtk()) {
         return "GtkLauncher";
-    } elsif (isQt()) {
-        return "QtTestBrowser";
     } elsif (isAppleWebKit()) {
         return "Safari";
     } elsif (isEfl()) {
@@ -1536,22 +1415,10 @@ sub checkRequiredSystemConfig
             print "most likely fail. The latest Xcode is available from the App Store.\n";
             print "*************************************************************\n";
         }
-    } elsif (isGtk() or isQt() or isEfl()) {
-        my @cmds = qw(bison gperf);
-        if (isQt() and isWindows()) {
-            push @cmds, "win_flex";
-        } else {
-            push @cmds, "flex";
-        }
+    } elsif (isGtk() or isEfl()) {
+        my @cmds = qw(bison gperf flex);
         my @missing = ();
         my $oldPath = $ENV{PATH};
-        if (isQt() and isWindows()) {
-            chomp(my $gnuWin32Dir = `$qmakebin -query QT_HOST_DATA`);
-            $gnuWin32Dir = File::Spec->catfile($gnuWin32Dir, "..", "gnuwin32", "bin");
-            if (-d "$gnuWin32Dir") {
-                $ENV{PATH} = $gnuWin32Dir . ";" . $ENV{PATH};
-            }
-        }
         foreach my $cmd (@cmds) {
             push @missing, $cmd if not commandExists($cmd);
         }
@@ -1560,9 +1427,6 @@ sub checkRequiredSystemConfig
             my $list = join ", ", @missing;
             die "ERROR: $list missing but required to build WebKit.\n";
         }
-        if (isQt() and isWindows()) {
-            $ENV{PATH} = $oldPath;
-        }
     }
     # Win32 and other platforms may want to check for minimum config
 }
@@ -1671,16 +1535,6 @@ sub setupCygwinEnv()
         $willUseVCExpressWhenBuilding = 1;
     }
 
-    my $qtSDKPath = File::Spec->catdir($programFilesPath, "QuickTime SDK");
-    if (0 && ! -e $qtSDKPath) {
-        print "*************************************************************\n";
-        print "Cannot find '$qtSDKPath'\n";
-        print "Please download the QuickTime SDK for Windows from\n";
-        print "http://developer.apple.com/quicktime/download/\n";
-        print "*************************************************************\n";
-        die;
-    }
-
     print "Building results into: ", baseProductDir(), "\n";
     print "WEBKIT_OUTPUTDIR is set to: ", $ENV{"WEBKIT_OUTPUTDIR"}, "\n";
     print "WEBKIT_LIBRARIES is set to: ", $ENV{"WEBKIT_LIBRARIES"}, "\n";
@@ -1735,7 +1589,7 @@ sub copyInspectorFrontendFiles
         }
     } elsif (isAppleWinWebKit()) {
         $inspectorResourcesDirPath = $productDir . "/WebKit.resources/inspector";
-    } elsif (isQt() || isGtk()) {
+    } elsif (isGtk()) {
         my $prefix = $ENV{"WebKitInstallationPrefix"};
         $inspectorResourcesDirPath = (defined($prefix) ? $prefix : "/usr/share") . "/webkit-1.0/webinspector";
     } elsif (isEfl()) {
@@ -1765,7 +1619,7 @@ sub copyInspectorFrontendFiles
         system "ditto", $sourceLocalizedStrings, $destinationLocalizedStrings;
     }
 
-    my $exitStatus = system "rsync", "-aut", "--exclude=/.DS_Store", "--exclude=*.re2js", "--exclude=.svn/", !isQt() ? "--exclude=/WebKit.qrc" : "", $sourceInspectorPath, $inspectorResourcesDirPath;
+    my $exitStatus = system "rsync", "-aut", "--exclude=/.DS_Store", "--exclude=*.re2js", "--exclude=.svn/", $sourceInspectorPath, $inspectorResourcesDirPath;
     return $exitStatus if $exitStatus;
 
     if (isIOSWebKit()) {
@@ -1844,27 +1698,6 @@ sub retrieveQMakespecVar
     return $varvalue;
 }
 
-sub qtMakeCommand($)
-{
-    my ($qmakebin) = @_;
-    chomp(my $hostDataPath = `$qmakebin -query QT_HOST_DATA`);
-    my $mkspecPath = $hostDataPath . "/mkspecs/default/qmake.conf";
-    if (! -e $mkspecPath) {
-        chomp(my $mkspec= `$qmakebin -query QMAKE_XSPEC`);
-        $mkspecPath = $hostDataPath . "/mkspecs/" . $mkspec . "/qmake.conf";
-    }
-    my $compiler = retrieveQMakespecVar($mkspecPath, "QMAKE_CC");
-
-    #print "default spec: " . $mkspec . "\n";
-    #print "compiler found: " . $compiler . "\n";
-
-    if ($compiler && $compiler eq "cl") {
-        return "nmake";
-    }
-
-    return "make";
-}
-
 sub autotoolsFlag($$)
 {
     my ($flag, $feature) = @_;
@@ -2226,199 +2059,6 @@ sub promptUser
     return $input ? $input : $default;
 }
 
-sub buildQMakeProjects
-{
-    my ($projects, $clean, @buildParams) = @_;
-
-    my @buildArgs = ();
-    my $qconfigs = "";
-
-    my $make = qtMakeCommand($qmakebin);
-    my $makeargs = "";
-    my $command;
-    my $installHeaders;
-    my $installLibs;
-    for my $i (0 .. $#buildParams) {
-        my $opt = $buildParams[$i];
-        if ($opt =~ /^--qmake=(.*)/i ) {
-            $qmakebin = $1;
-        } elsif ($opt =~ /^--qmakearg=(.*)/i ) {
-            push @buildArgs, $1;
-        } elsif ($opt =~ /^--makeargs=(.*)/i ) {
-            $makeargs = $1;
-        } elsif ($opt =~ /^--install-headers=(.*)/i ) {
-            $installHeaders = $1;
-        } elsif ($opt =~ /^--install-libs=(.*)/i ) {
-            $installLibs = $1;
-        } else {
-            push @buildArgs, $opt;
-        }
-    }
-
-    # Automatically determine the number of CPUs for make only if this make argument haven't already been specified.
-    if ($make eq "make" && $makeargs !~ /-[^\s]*?j\s*\d+/i && (!defined $ENV{"MAKEFLAGS"} || ($ENV{"MAKEFLAGS"} !~ /-[^\s]*?j\s*\d+/i ))) {
-        $makeargs .= " -j" . numberOfCPUs();
-    }
-
-    $make = "$make $makeargs";
-    $make =~ s/\s+$//;
-
-    my $originalCwd = getcwd();
-    my $dir = File::Spec->canonpath(productDir());
-    File::Path::mkpath($dir);
-    chdir $dir or die "Failed to cd into " . $dir . "\n";
-
-    if ($clean) {
-        $command = "$make distclean";
-        print "\nCalling '$command' in " . $dir . "\n\n";
-        return system $command;
-    }
-
-    my $qmakepath = File::Spec->catfile(sourceDir(), "Tools", "qmake");
-    my $qmakecommand = $qmakebin;
-
-    my $config = configuration();
-    push @buildArgs, "INSTALL_HEADERS=" . $installHeaders if defined($installHeaders);
-    push @buildArgs, "INSTALL_LIBS=" . $installLibs if defined($installLibs);
-
-    my $passedConfig = passedConfiguration() || "";
-    if ($passedConfig =~ m/debug/i) {
-        push @buildArgs, "CONFIG-=release";
-        push @buildArgs, "CONFIG+=debug";
-    } elsif ($passedConfig =~ m/release/i) {
-        push @buildArgs, "CONFIG+=release";
-        push @buildArgs, "CONFIG-=debug";
-    } elsif ($passedConfig) {
-        die "Build type $passedConfig is not supported with --qt.\n";
-    }
-
-    # Using build-webkit to build assumes you want a developer-build
-    push @buildArgs, "CONFIG-=production_build";
-
-    my $svnRevision = currentSVNRevision();
-    my $previousSvnRevision = "unknown";
-
-    my $buildHint = "";
-
-    my $pathToBuiltRevisions = File::Spec->catfile($dir, ".builtRevisions.cache");
-    if (-e $pathToBuiltRevisions && open(BUILTREVISIONS, $pathToBuiltRevisions)) {
-        while (<BUILTREVISIONS>) {
-            if ($_ =~ m/^SVN_REVISION\s=\s(\d+)$/) {
-                $previousSvnRevision = $1;
-            }
-        }
-        close(BUILTREVISIONS);
-    }
-
-    my $result = 0;
-
-    # Run qmake, regadless of having a makefile or not, so that qmake can
-    # detect changes to the configuration.
-
-    push @buildArgs, "-after OVERRIDE_SUBDIRS=\"@{$projects}\"" if @{$projects};
-    unshift @buildArgs, File::Spec->catfile(sourceDir(), "WebKit.pro");
-    $command = "$qmakecommand @buildArgs";
-    print "Calling '$command' in " . $dir . "\n\n";
-    print "Installation headers directory: $installHeaders\n" if(defined($installHeaders));
-    print "Installation libraries directory: $installLibs\n" if(defined($installLibs));
-
-    my $configChanged = 0;
-    open(QMAKE, "$command 2>&1 |") || die "Could not execute qmake";
-    while (<QMAKE>) {
-        $configChanged = 1 if $_ =~ m/The configuration was changed since the last build/;
-        print $_;
-    }
-
-    close(QMAKE);
-    $result = $?;
-
-    if ($result ne 0) {
-       die "\nFailed to set up build environment using $qmakebin!\n";
-    }
-
-    my $maybeNeedsCleanBuild = 0;
-    my $needsIncrementalBuild = 0;
-
-    # Full incremental build (run qmake) needed on buildbots and EWS bots always.
-    if (grep(/CONFIG\+=buildbot/,@buildParams)) {
-        $needsIncrementalBuild = 1;
-    }
-
-    if ($svnRevision ne $previousSvnRevision) {
-        print "Last built revision was " . $previousSvnRevision .
-            ", now at revision $svnRevision. Full incremental build needed.\n";
-        $needsIncrementalBuild = 1;
-
-        my @fileList = listOfChangedFilesBetweenRevisions(sourceDir(), $previousSvnRevision, $svnRevision);
-
-        foreach (@fileList) {
-            if (m/\.pr[oif]$/ or
-                m/\.qmake.conf$/ or
-                m/^Tools\/qmake\//
-               ) {
-                print "Change to $_ detected, clean build may be needed.\n";
-                $maybeNeedsCleanBuild = 1;
-                last;
-            }
-        }
-    }
-
-    if ($configChanged) {
-        print "Calling '$make wipeclean' in " . $dir . "\n\n";
-        $result = system "$make wipeclean";
-    }
-
-    $command = "$make";
-    if ($needsIncrementalBuild) {
-        $command .= " incremental";
-    }
-
-    print "\nCalling '$command' in " . $dir . "\n\n";
-    $result = system $command;
-
-    chdir ".." or die;
-
-    if ($result eq 0) {
-        # Now that the build completed successfully we can save the SVN revision
-        open(BUILTREVISIONS, ">>$pathToBuiltRevisions");
-        print BUILTREVISIONS "SVN_REVISION = $svnRevision\n";
-        close(BUILTREVISIONS);
-    } elsif (!$command =~ /incremental/ && exitStatus($result)) {
-        my $exitCode = exitStatus($result);
-        my $failMessage = <<EOF;
-
-===== BUILD FAILED ======
-
-The build failed with exit code $exitCode. This may have been because you
-
-  - added an #include to a source/header
-  - added a Q_OBJECT macro to a class
-  - added a new resource to a qrc file
-
-as dependencies are not automatically re-computed for local developer builds.
-You may try computing dependencies manually by running 'make qmake_all' in:
-
-  $dir
-
-or passing --makeargs="qmake_all" to build-webkit.
-
-=========================
-
-EOF
-        print "$failMessage";
-    } elsif ($maybeNeedsCleanBuild) {
-        print "\nIncremental build failed, clean build needed. \n";
-        print "Calling '$make wipeclean' in " . $dir . "\n\n";
-        chdir $dir or die;
-        system "$make wipeclean";
-
-        print "\nCalling '$make' in " . $dir . "\n\n";
-        $result = system $make;
-    }
-
-    return $result;
-}
-
 sub buildGtkProject
 {
     my ($project, $clean, $prefix, $makeArgs, $noWebKit1, $noWebKit2, @features) = @_;
@@ -2448,10 +2088,6 @@ sub setPathForRunningWebKitApp
 
     if (isAppleWinWebKit()) {
         $env->{PATH} = join(':', productDir(), dirname(installedSafariPath()), appleApplicationSupportPath(), $env->{PATH} || "");
-    } elsif (isQt()) {
-        my $qtLibs = `$qmakebin -query QT_INSTALL_LIBS`;
-        $qtLibs =~ s/[\n|\r]$//g;
-        $env->{PATH} = join(';', $qtLibs, productDir() . "/lib", $env->{PATH} || "");
     }
 }
 
index d2d53a5..0aa8a87 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2011, Google Inc. All rights reserved.
+# Copyright (C) 2013, Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -59,7 +60,6 @@ def _baseline_search_hypergraph(host, port_names):
 _VIRTUAL_PORTS = {
     'mac-future': ['LayoutTests/platform/mac-future', 'LayoutTests/platform/mac', 'LayoutTests'],
     'win-future': ['LayoutTests/platform/win-future', 'LayoutTests/platform/win', 'LayoutTests'],
-    'qt-unknown': ['LayoutTests/platform/qt-unknown', 'LayoutTests/platform/qt', 'LayoutTests'],
 }
 
 
index dcd649a..9342a59 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2011 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -99,24 +100,15 @@ class BaselineOptimizerTest(unittest.TestCase):
             'LayoutTests/platform/mac-lion': '462d03b9c025db1b0392d7453310dbee5f9a9e74',
         })
 
-    def test_qt_unknown(self):
-        self._assertOptimization({
-            'LayoutTests/platform/qt': '462d03b9c025db1b0392d7453310dbee5f9a9e74',
-        }, {
-            'LayoutTests/platform/qt': '462d03b9c025db1b0392d7453310dbee5f9a9e74',
-        })
-
     def test_win_does_not_drop_to_win_7sp0(self):
         self._assertOptimization({
             'LayoutTests/platform/win': '1',
             'LayoutTests/platform/mac': '2',
             'LayoutTests/platform/gtk': '3',
-            'LayoutTests/platform/qt': '4',
         }, {
             'LayoutTests/platform/win': '1',
             'LayoutTests/platform/mac': '2',
             'LayoutTests/platform/gtk': '3',
-            'LayoutTests/platform/qt': '4',
         })
 
     def test_common_directory_includes_root(self):
@@ -124,7 +116,6 @@ class BaselineOptimizerTest(unittest.TestCase):
         # to optimize.
         self._assertOptimizationFailed({
             'LayoutTests/platform/gtk': 'e8608763f6241ddacdd5c1ef1973ba27177d0846',
-            'LayoutTests/platform/qt': 'bcbd457d545986b7abf1221655d722363079ac87',
             'LayoutTests/platform/mac': 'e8608763f6241ddacdd5c1ef1973ba27177d0846',
         })
 
@@ -153,10 +144,8 @@ class BaselineOptimizerTest(unittest.TestCase):
         self._assertOptimization({
             'LayoutTests/platform/gtk': '3',
             'LayoutTests/platform/efl': '3',
-            'LayoutTests/platform/qt': '4',
-            'LayoutTests/platform/mac': '5',
+            'LayoutTests/platform/mac': '4',
         }, {
             'LayoutTests': '3',
-            'LayoutTests/platform/qt': '4',
-            'LayoutTests/platform/mac': '5',
+            'LayoutTests/platform/mac': '4',
         })
index 05b21e0..51671cf 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2009 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -376,7 +377,6 @@ class ChangeLogTest(unittest.TestCase):
         self._assert_parse_reviewer_text_list('Reviewed by NOBODY.', None)
         self._assert_parse_reviewer_text_list('Reviewed by NOBODY - Build Fix.', None)
         self._assert_parse_reviewer_text_list('Reviewed by NOBODY, layout tests fix.', None)
-        self._assert_parse_reviewer_text_list('Reviewed by NOBODY (Qt build fix pt 2).', None)
         self._assert_parse_reviewer_text_list('Reviewed by NOBODY(rollout)', None)
         self._assert_parse_reviewer_text_list('Reviewed by NOBODY (Build fix, forgot to svn add this file)', None)
         self._assert_parse_reviewer_text_list('Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.', None)
index 58014cd..b277a81 100644 (file)
         "GtkWebKit2PublicAPI": {
             "filename": r"Source/WebKit2/UIProcess/API/gtk/",
         },
-        "QtBuildSystem": {
-            # Project files for each target are intentionally left out, as those
-            # mostly list source and header files, which would just add noise.
-            "filename": r"Tools/qmake/"
-                        r"|WebKit.pro",
-        },
-        "QtWebKit2PublicAPI": {
-            "filename": r"Source/WebKit2/UIProcess/API/qt/"
-                        r"|Source/WebKit2/UIProcess/API/cpp/qt/"
-                        r"|Source/WebKit2/UIProcess/API/C/qt/",
-        },
-        "QtGraphics": {
-            "filename": r"Source/WebCore/platform/graphics/qt/"
-        },
         "CoordinatedGraphics": {
             "filename": r"Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/"
                         r"|Source/WebKit2/UIProcess/CoordinatedGraphics/"
         "OpenGL": {
             "filename": r"Source/WebCore/platform/graphics/opengl/",
         },
-        "QtWebKit2PlatformSpecific": {
-            "filename": r"Source/WebKit2/.*\.(pri|pro)"
-                        r"|Source/WebKit2/Platform/qt/"
-                        r"|Source/WebKit2/qt/"
-                        r"|Source/WebKit2/PluginProcess/qt/"
-                        r"|Source/WebKit2/Platform/qt/"
-                        r"|Source/WebKit2/Shared/API/c/qt/"
-                        r"|Source/WebKit2/Shared/qt/"
-                        r"|Source/WebKit2/WebProcess/InjectedBundle/qt/"
-                        r"|Source/WebKit2/WebProcess/FullScreen/qt/"
-                        r"|Source/WebKit2/WebProcess/WebPage/qt/"
-                        r"|Source/WebKit2/WebProcess/qt/"
-                        r"|Source/WebKit2/WebProcess/Plugins/Netscape/qt/"
-                        r"|Source/WebKit2/WebProcess/Downloads/qt/"
-                        r"|Source/WebKit2/WebProcess/WebCoreSupport/qt/"
-                        r"|Source/WebKit2/WebProcess/Cookies/qt/"
-                        r"|Source/WebKit2/UIProcess/qt/"
-                        r"|Source/WebKit2/UIProcess/Plugins/qt/"
-                        r"|Source/WebKit2/UIProcess/Launcher/qt/",
-        },
         "CSS": {
             "filename": r"Source/WebCore/css/",
         },
         "NetworkInfo": [ "gyuyoung.kim@webkit.org", "dchris@gmail.com" ],
         "OpenGL" : [ "noam@webkit.org", "dino@apple.com", "kondapallykalyan@gmail.com" ],
         "PerformanceTests": [ "rniwa@webkit.org" ],
-        "QtBuildSystem" : [ "abecsi@webkit.org" ],
-        "QtGraphics" : [ "noam@webkit.org" ],
-        "QtWebKit2PlatformSpecific": [ "alexis@webkit.org", "cmarcelo@webkit.org", "abecsi@webkit.org" ],
-        "QtWebKit2PublicAPI": [ "alexis@webkit.org", "cmarcelo@webkit.org", "abecsi@webkit.org" ],
         "RegionsDevelopment|RegionsExpectationsMore|RegionsExpectationsLess|RegionsUsage": [ "WebkitBugTracker@adobe.com" ],
         "Rendering": [ "esprehn+autocc@chromium.org", "glenn@skynav.com", "kondapallykalyan@gmail.com" ],
         "RenderLayers" : [ "simon.fraser@apple.com", "kondapallykalyan@gmail.com" ],
index 621188c..27bb3bc 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -248,7 +249,7 @@ class MiscTests(Base):
 
 class SkippedTests(Base):
     def check(self, expectations, overrides, skips, lint=False):
-        port = MockHost().port_factory.get('qt')
+        port = MockHost().port_factory.get('mac')
         port._filesystem.write_text_file(port._filesystem.join(port.layout_tests_dir(), 'failures/expected/text.html'), 'foo')
         expectations_dict = OrderedDict()
         expectations_dict['expectations'] = expectations
@@ -287,7 +288,7 @@ class SkippedTests(Base):
                    skips=['failures/expected'])
 
     def test_skipped_entry_dont_exist(self):
-        port = MockHost().port_factory.get('qt')
+        port = MockHost().port_factory.get('mac')
         expectations_dict = OrderedDict()
         expectations_dict['expectations'] = ''
         port.expectations_dict = lambda: expectations_dict
index c8d3495..3475999 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
 # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Szeged
-# Copyright (C) 2011 Apple Inc. All rights reserved.
+# Copyright (C) 2011, 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -925,9 +925,6 @@ class PortTest(unittest.TestCase):
     def disabled_test_chromium_mac_lion_in_test_shell_mode(self):
         self.assert_mock_port_works('chromium-mac-lion', args=['--additional-drt-flag=--test-shell'])
 
-    def disabled_test_qt_linux(self):
-        self.assert_mock_port_works('qt-linux')
-
     def disabled_test_mac_lion(self):
         self.assert_mock_port_works('mac-lion')
 
index f20acc4..13fa262 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -95,7 +96,7 @@ class Port(object):
     def __init__(self, host, port_name, options=None, **kwargs):
 
         # This value may be different from cls.port_name by having version modifiers
-        # and other fields appended to it (for example, 'qt-arm' or 'mac-wk2').
+        # and other fields appended to it (for example, 'mac-wk2' or 'win').
         self._name = port_name
 
         # These are default values that should be overridden in a subclasses.
@@ -1410,7 +1411,6 @@ class Port(object):
     # to use for all port configurations (including architectures, graphics types, etc).
     def _port_flag_for_scripts(self):
         # This is overrriden by ports which need a flag passed to scripts to distinguish the use of that port.
-        # For example --qt on linux, since a user might have both Gtk and Qt libraries installed.
         return None
 
     def tooling_flag(self):
@@ -1536,7 +1536,6 @@ class Port(object):
 
     def _wk2_port_name(self):
         # By current convention, the WebKit2 name is always mac-wk2, win-wk2, not mac-leopard-wk2, etc,
-        # except for Qt because WebKit2 is only supported by Qt 5.0 (therefore: qt-5.0-wk2).
         return "%s-wk2" % self.port_name
 
     # We might need to pass scm into this function for scm.checkout_root
index cb0f3e5..fe68926 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2011 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -64,9 +65,6 @@ _exact_matches = {
     "GTK Linux 64-bit Release": {"port_name": "gtk", "is_debug": False},
     "GTK Linux 64-bit Release WK2 (Tests)": {"port_name": "gtk-wk2", "is_debug": False},
 
-    # FIXME: Remove rebaseline_override_dir once there are Qt bots for all the platform/qt-* directories.
-    "Qt Linux Release": {"port_name": "qt-linux", "is_debug": False, "rebaseline_override_dir": "qt"},
-
     "EFL Linux 64-bit Release": {"port_name": "efl", "is_debug": False},
     "EFL Linux 64-bit Release WK2": {"port_name": "efl-wk2", "is_debug": False},
     "EFL Linux 64-bit Debug WK2": {"port_name": "efl-wk2", "is_debug": True},
@@ -79,14 +77,10 @@ _fuzzy_matches = {
     r"Apple Lion": "mac-lion",
     r"Windows": "win",
     r"GTK": "gtk",
-    r"Qt": "qt",
 }
 
 
 _ports_without_builders = [
-    "qt-mac",
-    "qt-win",
-    "qt-wk2",
 ]
 
 
index e9f1465..7ec3a5f 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -45,9 +46,6 @@ def platform_options(use_globs=False):
         optparse.make_option('--gtk', action='store_const', dest='platform',
             const=('gtk*' if use_globs else 'gtk'),
             help=('Alias for --platform=gtk*' if use_globs else 'Alias for --platform=gtk')),
-        optparse.make_option('--qt', action='store_const', dest="platform",
-            const=('qt*' if use_globs else 'qt'),
-            help=('Alias for --platform=qt' if use_globs else 'Alias for --platform=qt')),
         ]
 
 
@@ -78,7 +76,6 @@ class PortFactory(object):
         'gtk.GtkPort',
         'mac.MacPort',
         'mock_drt.MockDRTPort',
-        'qt.QtPort',
         'test.TestPort',
         'win.WinPort',
     )
@@ -89,7 +86,7 @@ class PortFactory(object):
     def _default_port(self, options):
         platform = self._host.platform
         if platform.is_linux() or platform.is_freebsd():
-            return 'qt-linux'
+            return 'gtk'
         elif platform.is_mac():
             return 'mac'
         elif platform.is_win():
index 6f09a2e..bea4d53 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -34,7 +35,6 @@ from webkitpy.common.system.systemhost_mock import MockSystemHost
 from webkitpy.port import factory
 from webkitpy.port import gtk
 from webkitpy.port import mac
-from webkitpy.port import qt
 from webkitpy.port import test
 from webkitpy.port import win
 
@@ -68,9 +68,6 @@ class FactoryTest(unittest.TestCase):
     def test_gtk(self):
         self.assert_port(port_name='gtk', cls=gtk.GtkPort)
 
-    def test_qt(self):
-        self.assert_port(port_name='qt', cls=qt.QtPort)
-
     def test_unknown_specified(self):
         self.assertRaises(NotImplementedError, factory.PortFactory(MockSystemHost()).get, port_name='unknown')
 
diff --git a/Tools/Scripts/webkitpy/port/qt.py b/Tools/Scripts/webkitpy/port/qt.py
deleted file mode 100644 (file)
index c22dc61..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-# Copyright (C) 2010 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-#     * Neither the Google name nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""QtWebKit implementation of the Port interface."""
-
-import glob
-import logging
-import re
-import sys
-import os
-import platform
-
-from webkitpy.common.memoized import memoized
-from webkitpy.layout_tests.models.test_configuration import TestConfiguration
-from webkitpy.port.base import Port
-from webkitpy.port.xvfbdriver import XvfbDriver
-from webkitpy.port.linux_get_crash_log import GDBCrashLogGenerator
-
-_log = logging.getLogger(__name__)
-
-
-class QtPort(Port):
-    ALL_VERSIONS = ['linux', 'win', 'mac']
-    port_name = "qt"
-
-    def _wk2_port_name(self):
-        return "qt-wk2"
-
-    def _port_flag_for_scripts(self):
-        return "--qt"
-
-    @classmethod
-    def determine_full_port_name(cls, host, options, port_name):
-        if port_name and port_name != cls.port_name:
-            return port_name
-        return port_name + '-' + host.platform.os_name
-
-    # sys_platform exists only for unit testing.
-    def __init__(self, host, port_name, **kwargs):
-        super(QtPort, self).__init__(host, port_name, **kwargs)
-
-        self._operating_system = port_name.replace('qt-', '')
-
-        # FIXME: Why is this being set at all?
-        self._version = self.operating_system()
-
-    def _generate_all_test_configurations(self):
-        configurations = []
-        for version in self.ALL_VERSIONS:
-            for build_type in self.ALL_BUILD_TYPES:
-                configurations.append(TestConfiguration(version=version, architecture='x86', build_type=build_type))
-        return configurations
-
-    def _build_driver(self):
-        # The Qt port builds DRT as part of the main build step
-        return True
-
-    def supports_per_test_timeout(self):
-        return True
-
-    def _path_to_driver(self):
-        return self._build_path('bin/%s' % self.driver_name())
-
-    def _path_to_image_diff(self):
-        return self._build_path('bin/ImageDiff')
-
-    def _path_to_webcore_library(self):
-        if self.operating_system() == 'mac':
-            return self._build_path('lib/QtWebKitWidgets.framework/QtWebKitWidgets')
-        else:
-            return self._build_path('lib/libQt5WebKitWidgets.so')
-
-    def _modules_to_search_for_symbols(self):
-        # We search in every library to be reliable in the case of building with CONFIG+=force_static_libs_as_shared.
-        if self.operating_system() == 'mac':
-            frameworks = glob.glob(os.path.join(self._build_path('lib'), '*.framework'))
-            return [os.path.join(framework, os.path.splitext(os.path.basename(framework))[0]) for framework in frameworks]
-        else:
-            suffix = 'dll' if self.operating_system() == 'win' else 'so'
-            return glob.glob(os.path.join(self._build_path('lib'), 'lib*.' + suffix))
-
-    @memoized
-    def qt_version(self):
-        version = ''
-        try:
-            for line in self._executive.run_command(['qmake', '-v']).split('\n'):
-                match = re.search('Qt\sversion\s(?P<version>\d\.\d)', line)
-                if match:
-                    version = match.group('version')
-                    break
-        except OSError:
-            version = '5.0'
-        return version
-
-    def _search_paths(self):
-        #                 qt-mac-wk2
-        #                /
-        #       qt-wk1  qt-wk2
-        #             \/
-        #           qt-5.x
-        #               \
-        #    (qt-linux|qt-mac|qt-win)
-        #                |
-        #               qt
-        search_paths = []
-        if self.get_option('webkit_test_runner'):
-            if self.operating_system() == 'mac':
-                search_paths.append('qt-mac-wk2')
-            search_paths.append('qt-wk2')
-        else:
-            search_paths.append('qt-wk1')
-
-        search_paths.append('qt-' + self.qt_version())
-
-        search_paths.append(self.port_name + '-' + self.operating_system())
-        search_paths.append(self.port_name)
-        return search_paths
-
-    def default_baseline_search_path(self):
-        return map(self._webkit_baseline_path, self._search_paths())
-
-    def _port_specific_expectations_files(self):
-        paths = self._search_paths()
-        if self.get_option('webkit_test_runner'):
-            paths.append('wk2')
-
-        # expectations_files() uses the directories listed in _search_paths reversed.
-        # e.g. qt -> qt-linux -> qt-5.x -> qt-wk1
-        return list(reversed([self._filesystem.join(self._webkit_baseline_path(p), 'TestExpectations') for p in paths]))
-
-    def setup_environ_for_server(self, server_name=None):
-        clean_env = super(QtPort, self).setup_environ_for_server(server_name)
-        clean_env['QTWEBKIT_PLUGIN_PATH'] = self._build_path('lib/plugins')
-        self._copy_value_from_environ_if_set(clean_env, 'QT_DRT_WEBVIEW_MODE')
-        self._copy_value_from_environ_if_set(clean_env, 'DYLD_IMAGE_SUFFIX')
-        self._copy_value_from_environ_if_set(clean_env, 'QT_WEBKIT_LOG')
-        self._copy_value_from_environ_if_set(clean_env, 'DISABLE_NI_WARNING')
-        self._copy_value_from_environ_if_set(clean_env, 'QT_WEBKIT_PAUSE_UI_PROCESS')
-        self._copy_value_from_environ_if_set(clean_env, 'QT_QPA_PLATFORM_PLUGIN_PATH')
-        self._copy_value_from_environ_if_set(clean_env, 'QT_WEBKIT_DISABLE_UIPROCESS_DUMPPIXELS')
-        return clean_env
-
-    # FIXME: We should find a way to share this implmentation with Gtk,
-    # or teach run-launcher how to call run-safari and move this down to Port.
-    def show_results_html_file(self, results_filename):
-        run_launcher_args = []
-        if self.get_option('webkit_test_runner'):
-            run_launcher_args.append('-2')
-        run_launcher_args.append("file://%s" % results_filename)
-        self._run_script("run-launcher", run_launcher_args)
-
-    def operating_system(self):
-        return self._operating_system
-
-    def check_sys_deps(self, needs_http):
-        result = super(QtPort, self).check_sys_deps(needs_http)
-        if not 'WEBKIT_TESTFONTS' in os.environ:
-            _log.error('\nThe WEBKIT_TESTFONTS environment variable is not defined or not set properly.')
-            _log.error('You must set it before running the tests.')
-            _log.error('Use git to grab the actual fonts from http://gitorious.org/qtwebkit/testfonts')
-            return False
-        return result
-
-    # Qt port is not ready for parallel testing, see https://bugs.webkit.org/show_bug.cgi?id=77730 for details.
-    def default_child_processes(self):
-        return 1
-
-    def build_webkit_command(self, build_style=None):
-        command = super(QtPort, self).build_webkit_command(build_style)
-        command.append("--qt")
-        if not self.get_option('webkit_test_runner'):
-            command.append("--no-webkit2")
-        command.append(super(QtPort, self).make_args())
-        return command
-
-    def run_webkit_tests_command(self):
-        command = super(QtPort, self).run_webkit_tests_command()
-        command.append("--qt")
-        if self.get_option('webkit_test_runner'):
-            command.append("-2")
-        return command
-
-    def _get_crash_log(self, name, pid, stdout, stderr, newer_than):
-        return GDBCrashLogGenerator(name, pid, newer_than, self._filesystem, self._path_to_driver).generate_crash_log(stdout, stderr)
diff --git a/Tools/Scripts/webkitpy/port/qt_unittest.py b/Tools/Scripts/webkitpy/port/qt_unittest.py
deleted file mode 100644 (file)
index cf4cefc..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright (C) 2010 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-#    * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#    * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-#    * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest2 as unittest
-import os
-from copy import deepcopy
-
-from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2
-from webkitpy.common.system.outputcapture import OutputCapture
-from webkitpy.common.system.systemhost_mock import MockSystemHost
-from webkitpy.port import port_testcase
-from webkitpy.port.base import Port
-from webkitpy.port.qt import QtPort
-from webkitpy.tool.mocktool import MockOptions
-
-
-class QtPortTest(port_testcase.PortTestCase):
-    port_name = 'qt-mac'
-    port_maker = QtPort
-    search_paths_cases = [
-        {'search_paths':['qt-mac-wk2', 'qt-wk2', 'qt-5.0', 'qt-mac', 'qt'], 'os_name':'mac', 'use_webkit2':True, 'qt_version':'5.0'},
-        {'search_paths':['qt-wk2', 'qt-5.0', 'qt-win', 'qt'], 'os_name':'win', 'use_webkit2':True, 'qt_version':'5.0'},
-        {'search_paths':['qt-wk2', 'qt-5.0', 'qt-linux', 'qt'], 'os_name':'linux', 'use_webkit2':True, 'qt_version':'5.0'},
-
-        {'search_paths':['qt-wk1', 'qt-5.0', 'qt-mac', 'qt'], 'os_name':'mac', 'use_webkit2':False, 'qt_version':'5.0'},
-        {'search_paths':['qt-wk1', 'qt-5.0', 'qt-win', 'qt'], 'os_name':'win', 'use_webkit2':False, 'qt_version':'5.0'},
-        {'search_paths':['qt-wk1', 'qt-5.0', 'qt-linux', 'qt'], 'os_name':'linux', 'use_webkit2':False, 'qt_version':'5.0'},
-        {'search_paths':['qt-wk1', 'qt-5.1', 'qt-linux', 'qt'], 'os_name':'linux', 'use_webkit2':False, 'qt_version':'5.1'},
-    ]
-
-    def _assert_search_path(self, search_paths, os_name, use_webkit2=False, qt_version='5.0'):
-        # FIXME: Port constructors should not "parse" the port name, but
-        # rather be passed components (directly or via setters).  Once
-        # we fix that, this method will need a re-write.
-        host = MockSystemHost(os_name=os_name)
-        host.executive = MockExecutive2(self._qt_version(qt_version))
-        port_name = 'qt-' + os_name
-        port = self.make_port(host=host, qt_version=qt_version, port_name=port_name,
-                              options=MockOptions(webkit_test_runner=use_webkit2, platform='qt'))
-        absolute_search_paths = map(port._webkit_baseline_path, search_paths)
-        self.assertEqual(port.baseline_search_path(), absolute_search_paths)
-
-    def _assert_expectations_files(self, search_paths, os_name, use_webkit2=False, qt_version='5.0'):
-        # FIXME: Port constructors should not "parse" the port name, but
-        # rather be passed components (directly or via setters).  Once
-        # we fix that, this method will need a re-write.
-        host = MockSystemHost(os_name=os_name)
-        host.executive = MockExecutive2(self._qt_version(qt_version))
-        port_name = 'qt-' + os_name
-        port = self.make_port(host=host, qt_version=qt_version, port_name=port_name,
-                              options=MockOptions(webkit_test_runner=use_webkit2, platform='qt'))
-        self.assertEqual(port.expectations_files(), search_paths)
-
-    def _qt_version(self, qt_version):
-        if qt_version in '5.0':
-            return 'QMake version 2.01a\nUsing Qt version 5.0.0 in /usr/local/Trolltech/Qt-5.0.0/lib'
-        if qt_version in '5.1':
-            return 'QMake version 3.0\nUsing Qt version 5.1.1 in /usr/local/Qt-5.1/lib'
-
-    def test_baseline_search_path(self):
-        for case in self.search_paths_cases:
-            self._assert_search_path(**case)
-
-    def test_expectations_files(self):
-        for case in self.search_paths_cases:
-            expectations_case = deepcopy(case)
-            if expectations_case['use_webkit2']:
-                expectations_case['search_paths'].append("wk2")
-            expectations_case['search_paths'].append('')
-            expectations_case['search_paths'].reverse()
-            expectations_case['search_paths'] = map(lambda path: '/mock-checkout/LayoutTests/TestExpectations' if not path else '/mock-checkout/LayoutTests/platform/%s/TestExpectations' % (path), expectations_case['search_paths'])
-            self._assert_expectations_files(**expectations_case)
-
-    def test_show_results_html_file(self):
-        port = self.make_port()
-        port._executive = MockExecutive(should_log=True)
-        expected_logs = "MOCK run_command: ['Tools/Scripts/run-launcher', '--release', '--qt', 'file://test.html'], cwd=/mock-checkout\n"
-        OutputCapture().assert_outputs(self, port.show_results_html_file, ["test.html"], expected_logs=expected_logs)
-
-    def test_setup_environ_for_server(self):
-        port = self.make_port()
-        env = port.setup_environ_for_server(port.driver_name())
-        self.assertEqual(env['QTWEBKIT_PLUGIN_PATH'], '/mock-build/lib/plugins')
-
-    def test_operating_system(self):
-        self.assertEqual('linux', self.make_port(port_name='qt-linux', os_name='linux').operating_system())
-        self.assertEqual('mac', self.make_port(os_name='mac').operating_system())
-        self.assertEqual('win', self.make_port(port_name='qt-win', os_name='win').operating_system())
-
-    def test_check_sys_deps(self):
-        port = self.make_port()
-
-        # Success
-        os.environ['WEBKIT_TESTFONTS'] = '/tmp/foo'
-        port._executive = MockExecutive2(exit_code=0)
-        self.assertTrue(port.check_sys_deps(needs_http=False))
-
-        # Failure
-        del os.environ['WEBKIT_TESTFONTS']
-        port._executive = MockExecutive2(exit_code=1,
-            output='testing output failure')
-        self.assertFalse(port.check_sys_deps(needs_http=False))
-
-    def test_commands(self):
-        port = self.make_port(port_name="qt")
-        self.assertEqual(port.tooling_flag(), "--port=qt")
-        self.assertEqual(port.update_webkit_command(), Port.script_shell_command("update-webkit"))
-        self.assertEqual(port.check_webkit_style_command(), Port.script_shell_command("check-webkit-style"))
-        self.assertEqual(port.prepare_changelog_command(), Port.script_shell_command("prepare-ChangeLog"))
-        self.assertEqual(port.build_webkit_command(), Port.script_shell_command("build-webkit") + ["--qt", "--no-webkit2", port.make_args()])
-        self.assertEqual(port.run_javascriptcore_tests_command(), Port.script_shell_command("run-javascriptcore-tests"))
-        self.assertEqual(port.run_webkit_unit_tests_command(), None)
-        self.assertEqual(port.run_webkit_tests_command(), Port.script_shell_command("run-webkit-tests") + ["--qt"])
-        self.assertEqual(port.run_python_unittests_command(), Port.script_shell_command("test-webkitpy"))
-        self.assertEqual(port.run_perl_unittests_command(), Port.script_shell_command("test-webkitperl"))
-        self.assertEqual(port.run_bindings_tests_command(), Port.script_shell_command("run-bindings-tests"))
-
-        port = self.make_port(port_name="qt", options=MockOptions(webkit_test_runner=True))
-        self.assertEqual(port.tooling_flag(), "--port=qt-wk2")
-        self.assertEqual(port.update_webkit_command(), Port.script_shell_command("update-webkit"))
-        self.assertEqual(port.check_webkit_style_command(), Port.script_shell_command("check-webkit-style"))
-        self.assertEqual(port.prepare_changelog_command(), Port.script_shell_command("prepare-ChangeLog"))
-        self.assertEqual(port.build_webkit_command(), Port.script_shell_command("build-webkit") + ["--qt", port.make_args()])
-        self.assertEqual(port.run_javascriptcore_tests_command(), Port.script_shell_command("run-javascriptcore-tests"))
-        self.assertEqual(port.run_webkit_unit_tests_command(), None)
-        self.assertEqual(port.run_webkit_tests_command(), Port.script_shell_command("run-webkit-tests") + ["--qt", "-2"])
-        self.assertEqual(port.run_python_unittests_command(), Port.script_shell_command("test-webkitpy"))
-        self.assertEqual(port.run_perl_unittests_command(), Port.script_shell_command("test-webkitperl"))
-        self.assertEqual(port.run_bindings_tests_command(), Port.script_shell_command("run-bindings-tests"))
-
-    def test_get_crash_log(self):
-        # This function tested in linux_get_crash_log_unittest.py
-        pass
index ef7237b..f23d307 100644 (file)
@@ -1,6 +1,7 @@
 # Copyright (C) 2009 Google Inc. All rights reserved.
 # Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
 # Copyright (C) 2010 ProFUSION embedded systems
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -134,37 +135,13 @@ _PATH_RULES_SPECIFIER = [
       # The API test harnesses have no config.h and use funny macros like
       # TEST_CLASS_NAME.
       "Tools/WebKitAPITest/",
-      "Tools/TestWebKitAPI/",
-      "Source/WebKit/qt/tests/qdeclarativewebview"],
+      "Tools/TestWebKitAPI/"],
      ["-build/include",
       "-readability/naming"]),
     ([# There is no clean way to avoid "yy_*" names used by flex.
-      "Source/WebCore/css/CSSParser.cpp",
-      # Qt code uses '_' in some places (such as private slots
-      # and on test xxx_data methos on tests)
-      "Source/JavaScriptCore/qt/",
-      "Source/WebKit/qt/tests/",
-      "Source/WebKit/qt/declarative/",
-      "Source/WebKit/qt/examples/"],
+      "Source/WebCore/css/CSSParser.cpp"],
      ["-readability/naming"]),
 
-    ([# The Qt APIs use Qt declaration style, it puts the * to
-      # the variable name, not to the class.
-      "Source/WebKit/qt/Api/",
-      "Source/WebKit/qt/WidgetApi/"],
-     ["-readability/naming",
-      "-whitespace/declaration"]),
-
-     ([# Qt's MiniBrowser has no config.h
-       "Tools/MiniBrowser/qt",
-       "Tools/MiniBrowser/qt/raw"],
-      ["-build/include"]),
-
-    ([# The Qt APIs use Qt/QML naming style, which includes
-      # naming parameters in h files.
-      "Source/WebKit2/UIProcess/API/qt"],
-     ["-readability/parameter_name"]),
-
     ([# The GTK+ port uses the autotoolsconfig.h header in some C sources
       # to serve the same purpose of config.h.
       "Tools/GtkLauncher/main.c"],
index 9a139c7..dcf69e5 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Copyright (C) 2009 Google Inc. All rights reserved.
 # Copyright (C) 2009 Torch Mobile Inc.
-# Copyright (C) 2009 Apple Inc. All rights reserved.
+# Copyright (C) 2009, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2010 Chris Jerdonek (chris.jerdonek@gmail.com)
 #
 # Redistribution and use in source and binary forms, with or without
@@ -225,30 +225,6 @@ class GlobalVariablesTest(unittest.TestCase):
         assertNoCheck("Source/WebCore/css/CSSParser.cpp",
                       "readability/naming")
 
-        # Test if Qt exceptions are indeed working
-        assertCheck("Source/WebKit/qt/WidgetApi/qwebpage.cpp",
-                    "readability/braces")
-        assertCheck("Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp",
-                    "readability/braces")
-        assertCheck("Source/WebKit/qt/declarative/platformplugin/WebPlugin.cpp",
-                    "readability/braces")
-        assertCheck("Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp",
-                    "readability/braces")
-        assertNoCheck("Source/WebKit/qt/WidgetApi/qwebpage.cpp",
-                      "readability/naming")
-        assertNoCheck("Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp",
-                      "readability/naming")
-        assertNoCheck("Source/WebKit/qt/declarative/platformplugin/WebPlugin.cpp",
-                      "readability/naming")
-        assertNoCheck("Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp",
-                      "readability/naming")
-
-        assertNoCheck("Tools/MiniBrowser/qt/UrlLoader.cpp",
-                    "build/include")
-
-        assertNoCheck("Source/WebKit2/UIProcess/API/qt",
-                    "readability/parameter_name")
-
         assertNoCheck("Source/WebCore/ForwardingHeaders/debugger/Debugger.h",
                       "build/header_guard")
 
index 85c446f..5556f0e 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2012 Intel Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -65,7 +66,6 @@ class CMakeChecker(object):
         #From FindPkgConfig.cmake
         'pkg_check_modules',
         'project',
-        'qt_wrap_cpp', 'qt_wrap_ui',
         'remove_definitions', 'return',
         'separate_arguments', 'set', 'set_directory_properties', 'set_property',
         'set_source_files_properties', 'set_target_properties',
index c782d9c..1bcf479 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Copyright (C) 2009, 2010, 2012 Google Inc. All rights reserved.
 # Copyright (C) 2009 Torch Mobile Inc.
-# Copyright (C) 2009 Apple Inc. All rights reserved.
+# Copyright (C) 2009, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2010 Chris Jerdonek (cjerdonek@webkit.org)
 #
 # Redistribution and use in source and binary forms, with or without
@@ -2718,13 +2718,6 @@ def _classify_include(filename, include, is_system, include_state):
     if filename.endswith('.h') and filename != include:
         return _OTHER_HEADER;
 
-    # Qt's moc files do not follow the naming and ordering rules, so they should be skipped
-    if include.startswith('moc_') and include.endswith('.cpp'):
-        return _MOC_HEADER
-
-    if include.endswith('.moc'):
-        return _MOC_HEADER
-
     # If the target file basename starts with the include we're checking
     # then we consider it the primary header.
     target_base = FileInfo(filename).base_name()
@@ -2734,9 +2727,6 @@ def _classify_include(filename, include, is_system, include_state):
     if not include_state.visited_primary_section():
         if target_base.find(include_base) != -1:
             return _PRIMARY_HEADER
-        # Qt private APIs use _p.h suffix.
-        if include_base.find(target_base) != -1 and include_base.endswith('_p'):
-            return _PRIMARY_HEADER
 
     # If we already encountered a primary header, perform a strict comparison.
     # In case the two filename bases are the same then the above lenient check
@@ -2836,7 +2826,7 @@ def check_include_line(filename, file_extension, clean_lines, line_number, inclu
                   'You should add a blank line after implementation file\'s own header.')
 
     # Check to make sure all headers besides config.h and the primary header are
-    # alphabetically sorted. Skip Qt's moc files.
+    # alphabetically sorted.
     if not error_message and header_type == _OTHER_HEADER:
          previous_line_number = line_number - 1;
          previous_line = clean_lines.lines[previous_line_number]
@@ -3191,7 +3181,6 @@ def check_identifier_name_in_declaration(filename, line_number, line, file_state
                 and not modified_identifier.startswith('NPN_')
                 and not modified_identifier.startswith('NPP_')
                 and not modified_identifier.startswith('NP_')
-                and not modified_identifier.startswith('qt_')
                 and not modified_identifier.startswith('_q_')
                 and not modified_identifier.startswith('cairo_')
                 and not modified_identifier.startswith('Ecore_')
@@ -3199,7 +3188,6 @@ def check_identifier_name_in_declaration(filename, line_number, line, file_state
                 and not modified_identifier.startswith('Evas_')
                 and not modified_identifier.startswith('Ewk_')
                 and not modified_identifier.startswith('cti_')
-                and not modified_identifier.find('::qt_') >= 0
                 and not modified_identifier.find('::_q_') >= 0
                 and not modified_identifier == "const_iterator"
                 and not modified_identifier == "vm_throw"
index fac8829..2fca936 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Copyright (C) 2011 Google Inc. All rights reserved.
 # Copyright (C) 2009 Torch Mobile Inc.
-# Copyright (C) 2009 Apple Inc. All rights reserved.
+# Copyright (C) 2009, 2013 Apple Inc. All rights reserved.
 # Copyright (C) 2010 Chris Jerdonek (cjerdonek@webkit.org)
 #
 # Redistribution and use in source and binary forms, with or without
@@ -2789,14 +2789,6 @@ class OrderOfIncludesTest(CppStyleTestBase):
                          classify_include('PrefixFooCustom.cpp',
                                           'Foo.h',
                                           False, include_state))
-        self.assertEqual(cpp_style._MOC_HEADER,
-                         classify_include('foo.cpp',
-                                          'foo.moc',
-                                          False, include_state))
-        self.assertEqual(cpp_style._MOC_HEADER,
-                         classify_include('foo.cpp',
-                                          'moc_foo.cpp',
-                                          False, include_state))
         # <public/foo.h> must be considered as primary even if is_system is True.
         self.assertEqual(cpp_style._PRIMARY_HEADER,
                          classify_include('foo/foo.cpp',
@@ -2810,11 +2802,6 @@ class OrderOfIncludesTest(CppStyleTestBase):
                          classify_include('foo.cpp',
                                           'public/foop.h',
                                           True, include_state))
-        # Qt private APIs use _p.h suffix.
-        self.assertEqual(cpp_style._PRIMARY_HEADER,
-                         classify_include('foo.cpp',
-                                          'foo_p.h',
-                                          False, include_state))
         # Tricky example where both includes might be classified as primary.
         self.assert_language_rules_check('ScrollbarThemeWince.cpp',
                                          '#include "config.h"\n'
@@ -4703,12 +4690,6 @@ class WebKitStyleTest(CppStyleTestBase):
         # There is an exception for some unit tests that begin with "tst_".
         self.assert_lint('void tst_QWebFrame::arrayObjectEnumerable(int var1, int var2)', '')
 
-        # The Qt API uses names that begin with "qt_" or "_q_".
-        self.assert_lint('void QTFrame::qt_drt_is_awesome(int var1, int var2)', '')
-        self.assert_lint('void QTFrame::_q_drt_is_awesome(int var1, int var2)', '')
-        self.assert_lint('void qt_drt_is_awesome(int var1, int var2);', '')
-        self.assert_lint('void _q_drt_is_awesome(int var1, int var2);', '')
-
         # Cairo forward-declarations should not be a failure.
         self.assert_lint('typedef struct _cairo cairo_t;', '')
         self.assert_lint('typedef struct _cairo_surface cairo_surface_t;', '')
index 18648df..76d1664 100644 (file)
@@ -79,10 +79,6 @@ class TestExpectationsTestCase(unittest.TestCase):
         self._expect_port_for_expectations_path('efl', 'LayoutTests/platform/efl/TestExpectations')
         self._expect_port_for_expectations_path('efl', 'LayoutTests/platform/efl-wk1/TestExpectations')
         self._expect_port_for_expectations_path('efl', 'LayoutTests/platform/efl-wk2/TestExpectations')
-        self._expect_port_for_expectations_path('qt', 'LayoutTests/platform/qt-win/TestExpectations')
-        # FIXME: check-webkit-style doesn't know how to create port objects for all Qt version (4.8, 5.0) and
-        # will only check files based on the installed version of Qt.
-        #self._expect_port_for_expectations_path('qt', 'LayoutTests/platform/qt-5.0-wk2/TestExpectations')
 
     def assert_lines_lint(self, lines, should_pass, expected_output=None):
         self._error_collector.reset_errors()
index 43a8786..1f7c425 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright (C) 2010 Google Inc. All rights reserved.
+# Copyright (C) 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -92,7 +93,6 @@ class TestRebaselineTest(_BaseTestCase):
         self.assertMultiLineEqual(command._baseline_directory("GTK Linux 64-bit Debug"), "/mock-checkout/LayoutTests/platform/gtk-wk1")
         self.assertMultiLineEqual(command._baseline_directory("GTK Linux 64-bit Release WK2 (Tests)"), "/mock-checkout/LayoutTests/platform/gtk-wk2")
         self.assertMultiLineEqual(command._baseline_directory("EFL Linux 64-bit Release WK2"), "/mock-checkout/LayoutTests/platform/efl-wk2")
-        self.assertMultiLineEqual(command._baseline_directory("Qt Linux Release"), "/mock-checkout/LayoutTests/platform/qt")
 
     def test_rebaseline_updates_expectations_file_noop(self):
         self._zero_out_test_expectations()
@@ -336,7 +336,7 @@ class TestRebaselineExpectations(_BaseTestCase):
         # FIXME: change this to use the test- ports.
         calls = filter(lambda x: x != ['qmake', '-v'], self.tool.executive.calls)
         self.assertEqual(len(calls), 1)
-        self.assertEqual(len(calls[0]), 22)
+        self.assertEqual(len(calls[0]), 20)
 
     def test_rebaseline_expectations_noop(self):
         self._zero_out_test_expectations()
index c6bc879..92240cc 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (c) 2010 Google Inc. All rights reserved.
-# Copyright (c) 2009 Apple Inc. All rights reserved.
+# Copyright (c) 2009, 2013 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -49,7 +49,7 @@ class WebKitPatch(MultiCommandTool, Host):
         make_option("--bot-id", action="store", dest="bot_id", type="string", help="Identifier for this bot (if multiple bots are running for a queue)"),
         make_option("--irc-password", action="store", dest="irc_password", type="string", help="Password to use when communicating via IRC."),
         make_option("--seconds-to-sleep", action="store", default=120, type="int", help="Number of seconds to sleep in the task queue."),
-        make_option("--port", action="store", dest="port", default=None, help="Specify a port (e.g., mac, qt, gtk, ...)."),
+        make_option("--port", action="store", dest="port", default=None, help="Specify a port (e.g., mac, gtk, ...)."),
     ]
 
     def __init__(self, path):