[GTK] run-perf-tests should run the tests inside the jhbuild shell.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jun 2014 13:45:17 +0000 (13:45 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jun 2014 13:45:17 +0000 (13:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=133533

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-05
Reviewed by Carlos Garcia Campos.

* Scripts/webkitpy/common/multiprocessing_bootstrap.py:
(run): Remove the jhbuild-wrapper wrapper from here. It should be
on Scripts/webkitpy/port/gtk.py.
* Scripts/webkitpy/port/base.py:
(Port.set_option): Add a set_option(name, value) function to set
the optparse parameter "name" to the value "value", even if the
parameter "name" is already initialized.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__): Set the default wrapper to jhbuild-wrapper.
If another wrapper is specified via the option "-l --wrapper=x",
then prepend the jhbuild-wrapper to the one specified.

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

Tools/ChangeLog
Tools/Scripts/webkitpy/common/multiprocessing_bootstrap.py
Tools/Scripts/webkitpy/port/base.py
Tools/Scripts/webkitpy/port/gtk.py

index 11c7943..2a63517 100644 (file)
@@ -1,3 +1,22 @@
+2014-06-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        [GTK] run-perf-tests should run the tests inside the jhbuild shell.
+        https://bugs.webkit.org/show_bug.cgi?id=133533
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Scripts/webkitpy/common/multiprocessing_bootstrap.py:
+        (run): Remove the jhbuild-wrapper wrapper from here. It should be
+        on Scripts/webkitpy/port/gtk.py.
+        * Scripts/webkitpy/port/base.py:
+        (Port.set_option): Add a set_option(name, value) function to set
+        the optparse parameter "name" to the value "value", even if the
+        parameter "name" is already initialized.
+        * Scripts/webkitpy/port/gtk.py:
+        (GtkPort.__init__): Set the default wrapper to jhbuild-wrapper.
+        If another wrapper is specified via the option "-l --wrapper=x",
+        then prepend the jhbuild-wrapper to the one specified.
+
 2014-06-04  David Farler  <dfarler@apple.com>
 
         Build ASan WebKit for iOS Simulator
index 366c413..9f7af98 100644 (file)
@@ -53,13 +53,6 @@ def run(*parts):
     module_path = os.path.join(script_dir, *parts)
     cmd = [sys.executable, module_path] + sys.argv[1:]
 
-    # Wrap processes in the jhbuild environment so DRT or WKTR
-    # doesn't need to do it and their process id as reported by
-    # subprocess.Popen is not jhbuild's.
-    if '--gtk' in sys.argv[1:] and os.path.exists(os.path.join(script_dir, '..', '..', 'WebKitBuild', 'Dependencies')):
-        prefix = [os.path.join(script_dir, '..', 'jhbuild', 'jhbuild-wrapper'), '--gtk', 'run']
-        cmd = prefix + cmd
-
     proc = subprocess.Popen(cmd, env=env)
     try:
         proc.wait()
index e10fcc2..726b597 100644 (file)
@@ -735,6 +735,10 @@ class Port(object):
     def get_option(self, name, default_value=None):
         return getattr(self._options, name, default_value)
 
+    def set_option(self, name, value):
+        setattr(self._options, name, value)
+        return self.get_option(name) == value
+
     def set_option_default(self, name, default_value):
         return self._options.ensure_value(name, default_value)
 
index bbfe36d..e82db90 100644 (file)
@@ -54,6 +54,13 @@ class GtkPort(Port):
             if not self.get_option("wrapper"):
                 raise ValueError('use --wrapper=\"valgrind\" for memory leak detection on GTK')
 
+        if os.path.exists(self.path_from_webkit_base('WebKitBuild', 'Dependencies')):
+            self._jhbuild_wrapper = [self.path_from_webkit_base('Tools', 'jhbuild', 'jhbuild-wrapper'), '--gtk', 'run']
+            if self.get_option('wrapper'):
+                self.set_option('wrapper', ' '.join(self._jhbuild_wrapper) + ' ' + self.get_option('wrapper'))
+            else:
+                self.set_option_default('wrapper', ' '.join(self._jhbuild_wrapper))
+
     def _built_executables_path(self, *path):
         return self._build_path(*(('bin',) + path))