[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

commit-queue at webkit.org commit-queue at webkit.org
Fri Jan 21 14:56:25 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 9842f9985b2e7b18cbd268df4a03914b7a5e4dfc
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 5 02:09:32 2011 +0000

    2011-01-04  Søren Gjesse  <sgjesse at chromium.org>
    
            Reviewed by Tony Chang.
    
            Change the --multi-load test option to --stress-opt
            https://bugs.webkit.org/show_bug.cgi?id=50751
    
            * DumpRenderTree/chromium/DumpRenderTree.cpp:
            (runTest):
            (main):
            * DumpRenderTree/chromium/TestShell.cpp:
            (TestShell::TestShell):
            * DumpRenderTree/chromium/TestShell.h:
            (TestShell::stressOpt):
            (TestShell::setStressOpt):
            (TestShell::stressDeopt):
            (TestShell::setStressDeopt):
            (TestShell::javaScriptFlags):
            (TestShell::setJavaScriptFlags):
            * Scripts/webkitpy/layout_tests/port/chromium.py:
            * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 276d342..e98cc3f 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,25 @@
+2011-01-04  Søren Gjesse  <sgjesse at chromium.org>
+
+        Reviewed by Tony Chang.
+
+        Change the --multi-load test option to --stress-opt
+        https://bugs.webkit.org/show_bug.cgi?id=50751
+
+        * DumpRenderTree/chromium/DumpRenderTree.cpp:
+        (runTest):
+        (main):
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::TestShell):
+        * DumpRenderTree/chromium/TestShell.h:
+        (TestShell::stressOpt):
+        (TestShell::setStressOpt):
+        (TestShell::stressDeopt):
+        (TestShell::setStressDeopt):
+        (TestShell::javaScriptFlags):
+        (TestShell::setJavaScriptFlags):
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
 2011-01-04  Chris Fleizach  <cfleizach at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
index 3bbba98..6522450 100644
--- a/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
+++ b/Tools/DumpRenderTree/chromium/DumpRenderTree.cpp
@@ -32,6 +32,7 @@
 
 #include "TestShell.h"
 #include "webkit/support/webkit_support.h"
+#include <v8/include/v8-testing.h>
 #include <v8/include/v8.h>
 #include <wtf/Vector.h>
 
@@ -52,7 +53,8 @@ static const char optionCheckLayoutTestSystemDeps[] = "--check-layout-test-sys-d
 static const char optionEnableAcceleratedCompositing[] = "--enable-accelerated-compositing";
 static const char optionEnableAccelerated2DCanvas[] = "--enable-accelerated-2d-canvas";
 
-static const char optionMultipleLoads[] = "--multiple-loads=";
+static const char optionStressOpt[] = "--stress-opt";
+static const char optionStressDeopt[] = "--stress-deopt";
 static const char optionJavaScriptFlags[] = "--js-flags=";
 
 static void runTest(TestShell& shell, TestParams& params, const string& testName, bool testShellMode)
@@ -82,13 +84,22 @@ static void runTest(TestShell& shell, TestParams& params, const string& testName
     }
     params.testUrl = webkit_support::CreateURLForPathOrURL(pathOrURL);
     webkit_support::SetCurrentDirectoryForFileURL(params.testUrl);
-    for (int i = 0; i < shell.loadCount(); i++) {
-        string javaScriptFlags = shell.javaScriptFlagsForLoad(i);
-        v8::V8::SetFlagsFromString(javaScriptFlags.data(), static_cast<int>(javaScriptFlags.size()));
-        bool isLastLoad = (i == (shell.loadCount() - 1));
-        shell.setDumpWhenFinished(isLastLoad);
-        shell.resetTestController();
-        shell.runFileTest(params);
+    v8::V8::SetFlagsFromString(shell.javaScriptFlags().c_str(), shell.javaScriptFlags().length());
+    if (shell.stressOpt() || shell.stressDeopt()) {
+      if (shell.stressOpt())
+        v8::Testing::SetStressRunType(v8::Testing::kStressTypeOpt);
+      else
+        v8::Testing::SetStressRunType(v8::Testing::kStressTypeDeopt);
+      for (int i = 0; i < v8::Testing::GetStressRuns(); i++) {
+          v8::Testing::PrepareStressRun(i);
+          bool isLastLoad = (i == (v8::Testing::GetStressRuns() - 1));
+          shell.setDumpWhenFinished(isLastLoad);
+          shell.resetTestController();
+          shell.runFileTest(params);
+      }
+    } else {
+      shell.resetTestController();
+      shell.runFileTest(params);
     }
     shell.setLayoutTestTimeout(oldTimeoutMsec);
 }
@@ -106,7 +117,8 @@ int main(int argc, char* argv[])
     bool startupDialog = false;
     bool acceleratedCompositingEnabled = false;
     bool accelerated2DCanvasEnabled = false;
-    int loadCount = 1;
+    bool stressOpt = false;
+    bool stressDeopt = false;
     string javaScriptFlags;
     for (int i = 1; i < argc; ++i) {
         string argument(argv[i]);
@@ -132,12 +144,13 @@ int main(int argc, char* argv[])
             acceleratedCompositingEnabled = true;
         else if (argument == optionEnableAccelerated2DCanvas)
             accelerated2DCanvasEnabled = true;
-        else if (!argument.find(optionMultipleLoads)) {
-            string multipleLoadsStr = argument.substr(strlen(optionMultipleLoads));
-            loadCount = atoi(multipleLoadsStr.c_str());
-        } else if (!argument.find(optionJavaScriptFlags)) {
+        else if (argument == optionStressOpt)
+            stressOpt = true;
+        else if (argument == optionStressDeopt)
+            stressDeopt = true;
+        else if (!argument.find(optionJavaScriptFlags))
             javaScriptFlags = argument.substr(strlen(optionJavaScriptFlags));
-        } else if (argument.size() && argument[0] == '-')
+        else if (argument.size() && argument[0] == '-')
             fprintf(stderr, "Unknown option: %s\n", argv[i]);
         else
             tests.append(argument);
@@ -146,31 +159,11 @@ int main(int argc, char* argv[])
         fprintf(stderr, "--pixel-tests with --test-shell requires a file name.\n");
         return EXIT_FAILURE;
     }
-    if (loadCount < 1) {
-        fprintf(stderr, "--multiple-loads requires a positive numeric argument.\n");
+    if (stressOpt && stressDeopt) {
+        fprintf(stderr, "--stress-opt and --stress-deopt are mutually exclusive.\n");
         return EXIT_FAILURE;
     }
 
-    // The test runner might send a quoted string which needs to be unquoted before further processing.
-    if (javaScriptFlags.length() > 1 && javaScriptFlags[0] == '"' && javaScriptFlags[javaScriptFlags.length() - 1] == '"')
-        javaScriptFlags = javaScriptFlags.substr(1, javaScriptFlags.length() - 2);
-    // Split the JavaScript flags into a list.
-    Vector<string> flagsList;
-    size_t start = 0;
-    while (true) {
-        size_t commaPos = javaScriptFlags.find_first_of(',', start);
-        string flags;
-        if (commaPos == string::npos)
-            flags = javaScriptFlags.substr(start, javaScriptFlags.length() - start);
-        else {
-            flags = javaScriptFlags.substr(start, commaPos - start);
-            start = commaPos + 1;
-        }
-        flagsList.append(flags);
-        if (commaPos == string::npos)
-            break;
-    }
-
     if (startupDialog)
         openStartupDialog();
 
@@ -179,8 +172,9 @@ int main(int argc, char* argv[])
         shell.setAllowExternalPages(allowExternalPages);
         shell.setAcceleratedCompositingEnabled(acceleratedCompositingEnabled);
         shell.setAccelerated2dCanvasEnabled(accelerated2DCanvasEnabled);
-        shell.setLoadCount(loadCount);
-        shell.setJavaScriptFlags(flagsList);
+        shell.setJavaScriptFlags(javaScriptFlags);
+        shell.setStressOpt(stressOpt);
+        shell.setStressDeopt(stressDeopt);
         if (serverMode && !tests.size()) {
             params.printSeparators = true;
             char testString[2048]; // 2048 is the same as the sizes of other platforms.
diff --git a/Tools/DumpRenderTree/chromium/TestShell.cpp b/Tools/DumpRenderTree/chromium/TestShell.cpp
index d5f2b5c..14fcdc7 100644
--- a/Tools/DumpRenderTree/chromium/TestShell.cpp
+++ b/Tools/DumpRenderTree/chromium/TestShell.cpp
@@ -86,7 +86,8 @@ TestShell::TestShell(bool testShellMode)
     , m_allowExternalPages(false)
     , m_acceleratedCompositingEnabled(false)
     , m_accelerated2dCanvasEnabled(false)
-    , m_loadCount(1)
+    , m_stressOpt(false)
+    , m_stressDeopt(false)
     , m_dumpWhenFinished(true)
 {
     WebRuntimeFeatures::enableGeolocation(true);
diff --git a/Tools/DumpRenderTree/chromium/TestShell.h b/Tools/DumpRenderTree/chromium/TestShell.h
index 99b0cd1..486f9ea 100644
--- a/Tools/DumpRenderTree/chromium/TestShell.h
+++ b/Tools/DumpRenderTree/chromium/TestShell.h
@@ -137,15 +137,15 @@ public:
     int layoutTestTimeoutForWatchDog() { return layoutTestTimeout() + 1000; }
     void setLayoutTestTimeout(int timeout) { m_timeout = timeout; }
 
-    // Number of times to load each URL.
-    int loadCount() { return m_loadCount; }
-    void setLoadCount(int loadCount) { m_loadCount = loadCount; }
+    // V8 JavaScript stress test options.
+    int stressOpt() { return m_stressOpt; }
+    void setStressOpt(bool stressOpt) { m_stressOpt = stressOpt; }
+    int stressDeopt() { return m_stressDeopt; }
+    void setStressDeopt(int stressDeopt) { m_stressDeopt = stressDeopt; }
 
-    // The JavaScript flags are specified as a vector of strings. Each element of the vector is full flags string
-    // which can contain multiple flags (e.g. "--xxx --yyy"). With multiple load testing it is possible to specify
-    // separate sets of flags to each load.
-    std::string javaScriptFlagsForLoad(size_t load) { return (load < m_javaScriptFlags.size()) ? m_javaScriptFlags[load] : ""; }
-    void setJavaScriptFlags(Vector<std::string> javaScriptFlags) { m_javaScriptFlags = javaScriptFlags; }
+    // The JavaScript flags specified as a strings.
+    std::string javaScriptFlags() { return m_javaScriptFlags; }
+    void setJavaScriptFlags(std::string javaScriptFlags) { m_javaScriptFlags = javaScriptFlags; }
 
     // Set whether to dump when the loaded page has finished processing. This is used with multiple load
     // testing where we only want to have the output from the last load.
@@ -199,8 +199,9 @@ private:
     bool m_acceleratedCompositingEnabled;
     bool m_accelerated2dCanvasEnabled;
     WebPreferences m_prefs;
-    int m_loadCount;
-    Vector<std::string> m_javaScriptFlags;
+    bool m_stressOpt;
+    bool m_stressDeopt;
+    std::string m_javaScriptFlags;
     bool m_dumpWhenFinished;
 
 
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/chromium.py b/Tools/Scripts/webkitpy/layout_tests/port/chromium.py
index 012e9cc..b90421a 100644
--- a/Tools/Scripts/webkitpy/layout_tests/port/chromium.py
+++ b/Tools/Scripts/webkitpy/layout_tests/port/chromium.py
@@ -380,8 +380,11 @@ class ChromiumDriver(base.Driver):
         if self._port.get_option('js_flags') is not None:
             cmd.append('--js-flags="' + self._port.get_option('js_flags') + '"')
 
-        if self._port.get_option('multiple_loads') > 0:
-            cmd.append('--multiple-loads=' + str(self._port.get_option('multiple_loads')))
+        if self._port.get_option('stress_opt'):
+            cmd.append('--stress-opt')
+
+        if self._port.get_option('stress_deopt'):
+            cmd.append('--stress-deopt')
 
         # test_shell does not support accelerated compositing.
         if not self._port.get_option("use_test_shell"):
diff --git a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
index f7e5330..c431765 100755
--- a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
+++ b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
@@ -215,10 +215,14 @@ def parse_args(args=None):
             default=False, help="create a dialog on DumpRenderTree startup"),
         optparse.make_option("--gp-fault-error-box", action="store_true",
             default=False, help="enable Windows GP fault error box"),
-        optparse.make_option("--multiple-loads",
-            type="int", help="turn on multiple loads of each test"),
         optparse.make_option("--js-flags",
             type="string", help="JavaScript flags to pass to tests"),
+        optparse.make_option("--stress-opt", action="store_true",
+            default=False,
+            help="Enable additional stress test to JavaScript optimization"),
+        optparse.make_option("--stress-deopt", action="store_true",
+            default=False,
+            help="Enable additional stress test to JavaScript optimization"),
         optparse.make_option("--nocheck-sys-deps", action="store_true",
             default=False,
             help="Don't check the system dependencies (themes)"),

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list