Changeset 54635 in webkit


Ignore:
Timestamp:
Feb 10, 2010 5:50:45 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-02-10 Dirk Pranke <dpranke@chromium.org>

Reviewed by Eric Seidel.

Fix various minor bugs keeping run-chromium-webkit-tests from actually
working on the linux and win ports of Chromium.

https://bugs.webkit.org/show_bug.cgi?id=34739

  • Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
  • Scripts/webkitpy/layout_tests/port/init.py:
  • Scripts/webkitpy/layout_tests/port/base.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:
  • Scripts/webkitpy/layout_tests/port/chromium_win.py:
  • Scripts/webkitpy/layout_tests/port/http_server.py:
  • Scripts/webkitpy/layout_tests/port/websocket_server.py:
Location:
trunk/WebKitTools
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r54634 r54635  
     12010-02-10  Dirk Pranke  <dpranke@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Fix various minor bugs keeping run-chromium-webkit-tests from actually
     6        working on the linux and win ports of Chromium.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=34739
     9
     10        * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
     11        * Scripts/webkitpy/layout_tests/port/__init__.py:
     12        * Scripts/webkitpy/layout_tests/port/base.py:
     13        * Scripts/webkitpy/layout_tests/port/chromium.py:
     14        * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
     15        * Scripts/webkitpy/layout_tests/port/chromium_win.py:
     16        * Scripts/webkitpy/layout_tests/port/http_server.py:
     17        * Scripts/webkitpy/layout_tests/port/websocket_server.py:
     18
    1192010-02-10  Eric Seidel  <eric@webkit.org>
    220
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py

    r54449 r54635  
    8787        port.maybe_make_directory(os.path.split(filename)[0])
    8888        open(filename, "wb").write(error)
    89     else:
     89    elif error:
    9090        logging.debug("Previous test output extra lines after dump:\n%s" %
    9191            error)
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/__init__.py

    r54452 r54635  
    3131
    3232
     33import sys
     34
     35
    3336def get(port_name=None, options=None):
    3437    """Returns an object implementing the Port interface. If
     
    3740    port_to_use = port_name
    3841    if port_to_use is None:
    39         port_to_use = 'chromium-mac'
     42        if sys.platform == 'win32':
     43            port_to_use = 'chromium-win'
     44        elif sys.platform == 'linux2':
     45            port_to_use = 'chromium-linux'
     46        elif sys.platform == 'darwin':
     47            port_to_use = 'chromium-mac'
    4048
    4149    if port_to_use == 'test':
     
    5159        import chromium_linux
    5260        return chromium_linux.ChromiumLinuxPort(port_name, options)
    53     elif port_to_use.startwith('chromium-win'):
     61    elif port_to_use.startswith('chromium-win'):
    5462        import chromium_win
    5563        return chromium_win.ChromiumWinPort(port_name, options)
    5664
    57     raise NotImplementedError('unsupported port: %s' % port_name)
     65    raise NotImplementedError('unsupported port: %s' % port_to_use)
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/base.py

    r54634 r54635  
    106106        except ValueError:
    107107            # work around a race condition in Python 2.4's implementation
    108             # of subprocess.Popen
     108            # of subprocess.Popen. See http://bugs.python.org/issue1199282 .
    109109            pass
    110110        return result
     
    486486            # http://bugs.python.org/issue1236
    487487            if _wdiff_available:
    488                 wdiff = subprocess.Popen(cmd,
    489                     stdout=subprocess.PIPE).communicate()[0]
     488                try:
     489                    wdiff = subprocess.Popen(cmd,
     490                        stdout=subprocess.PIPE).communicate()[0]
     491                except ValueError, e:
     492                    # Working around a race in Python 2.4's implementation
     493                    # of Popen().
     494                    wdiff = ''
    490495                wdiff = cgi.escape(wdiff)
    491496                wdiff = wdiff.replace('##WDIFF_DEL##', '<span class=del>')
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py

    r54449 r54635  
    3232import logging
    3333import os
     34import shutil
    3435import signal
    3536import subprocess
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_linux.py

    r54449 r54635  
    4848    def baseline_search_path(self):
    4949        return [self.baseline_path(),
    50                 self.chromium_baseline_path('chromium-win'),
    51                 self.webkit_baseline_path('win'),
    52                 self.webkit_baseline_path('mac')]
     50                self._chromium_baseline_path('chromium-win'),
     51                self._webkit_baseline_path('win'),
     52                self._webkit_baseline_path('mac')]
    5353
    5454    def check_sys_deps(self):
     
    7575
    7676    def _build_path(self, *comps):
    77         return self.path_from_chromium_base('sconsbuild', self._options.target,
    78                                             *comps)
     77        base = self.path_from_chromium_base()
     78        if os.path.exists(os.path.join(base, 'sconsbuild')):
     79            return self.path_from_chromium_base('sconsbuild',
     80                self._options.target, *comps)
     81        else:
     82            return self.path_from_chromium_base('out',
     83                self._options.target, *comps)
    7984
    8085    def _kill_process(self, pid):
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py

    r54449 r54635  
    3434import signal
    3535import subprocess
     36import sys
    3637
    3738import chromium
     
    4748
    4849    def baseline_search_path(self):
     50        dirs = []
    4951        if self._name == 'chromium-win-xp':
    50             dirs.append(self.baseline_path(self._name))
     52            dirs.append(self._chromium_baseline_path(self._name))
    5153        if self._name in ('chromium-win-xp', 'chromium-win-vista'):
    52             dirs.append(self.baseline_path('chromium-win-vista'))
    53         dirs.append(self.baseline_path('chromium-win'))
    54         dirs.append(self.webkit_baseline_path('win'))
    55         dirs.append(self.webkit_baseline_path('mac'))
     54            dirs.append(self._chromium_baseline_path('chromium-win-vista'))
     55        dirs.append(self._chromium_baseline_path('chromium-win'))
     56        dirs.append(self._webkit_baseline_path('win'))
     57        dirs.append(self._webkit_baseline_path('mac'))
    5658        return dirs
    5759
     
    6365        """Return the absolute path in unix format for the given filename."""
    6466        abspath = os.path.abspath(filename)
    65         return path.replace('\\', '/')
     67        return abspath.replace('\\', '/')
    6668
    6769    def num_cores(self):
    6870        return int(os.environ.get('NUMBER_OF_PROCESSORS', 1))
     71
     72    def relative_test_filename(self, filename):
     73        path = filename[len(self.layout_tests_dir()) + 1:]
     74        return path.replace('\\', '/')
    6975
    7076    def test_platform_name(self):
     
    114120
    115121    def _path_to_lighttpd(self):
    116         return self._lighttp_path('LightTPD.exe')
     122        return self._lighttpd_path('LightTPD.exe')
    117123
    118124    def _path_to_lighttpd_modules(self):
    119         return self._lighttp_path('lib')
     125        return self._lighttpd_path('lib')
    120126
    121127    def _path_to_lighttpd_php(self):
    122         return self._lighttp_path('php5', 'php-cgi.exe')
     128        return self._lighttpd_path('php5', 'php-cgi.exe')
    123129
    124130    def _path_to_driver(self):
     
    129135
    130136    def _path_to_image_diff(self):
    131         return self._build_path('layout_test_helper.exe')
     137        return self._build_path('image_diff.exe')
    132138
    133139    def _path_to_wdiff(self):
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/http_server.py

    r54449 r54635  
    6767
    6868        try:
    69             _webkit_tests = os.path.join(self._port_obj.layout_tests_dir(),
    70                 'http', 'tests')
    71             _webkit_tests = os.path.join(self._port_obj.layout_tests_dir(),
    72                 'fast', 'js', 'resources')
     69            self._webkit_tests = os.path.join(
     70                self._port_obj.layout_tests_dir(), 'http', 'tests')
     71            self._js_test_resource = os.path.join(
     72                self._port_obj.layout_tests_dir(), 'fast', 'js', 'resources')
    7373        except:
    74             _webkit_tests = None
    75             _js_test_resource = None
     74            self._webkit_tests = None
     75            self._js_test_resource = None
    7676
    7777        # Self generated certificate for SSL server (for client cert get
     
    8181
    8282        # One mapping where we can get to everything
    83         VIRTUALCONFIG = []
    84 
    85         if _webkit_tests:
    86             VIRTUALCONFIG.extend(
     83        self.VIRTUALCONFIG = []
     84
     85        if self._webkit_tests:
     86            self.VIRTUALCONFIG.extend(
    8787               # Three mappings (one with SSL) for LayoutTests http tests
    88                [{'port': 8000, 'docroot': _webkit_tests},
    89                 {'port': 8080, 'docroot': _webkit_tests},
    90                 {'port': 8443, 'docroot': _webkit_tests,
     88               [{'port': 8000, 'docroot': self._webkit_tests},
     89                {'port': 8080, 'docroot': self._webkit_tests},
     90                {'port': 8443, 'docroot': self._webkit_tests,
    9191                 'sslcert': self._pem_file}])
    9292
     
    9898            raise 'Lighttpd already running'
    9999
    100         base_conf_file = self._port_obj.path_from_base('third_party',
    101             'WebKitTools', 'Scripts', 'webkitpy', 'layout_tests',
    102             'port', 'lighttpd.conf')
     100        base_conf_file = self._port_obj.path_from_webkit_base('WebKitTools',
     101            'Scripts', 'webkitpy', 'layout_tests', 'port', 'lighttpd.conf')
    103102        out_conf_file = os.path.join(self._output_dir, 'lighttpd.conf')
    104103        time_str = time.strftime("%d%b%Y-%H%M%S")
     
    175174        start_cmd = [executable,
    176175                     # Newly written config file
    177                      '-f', self._port_obj._path_from_base(self._output_dir,
    178                                                          'lighttpd.conf'),
     176                     '-f', os.path.join(self._output_dir, 'lighttpd.conf'),
    179177                     # Where it can find its module dynamic libraries
    180178                     '-m', module_path]
     
    198196        if sys.platform in ('cygwin', 'win32'):
    199197            env['PATH'] = '%s;%s' % (
    200                 port.path_from_base('third_party', 'cygwin', 'bin'),
     198                self._port_obj.path_from_chromium_base('third_party',
     199                                                       'cygwin', 'bin'),
    201200                env['PATH'])
    202201
    203202        if sys.platform == 'win32' and self._register_cygwin:
    204             setup_mount = port.path_from_base('third_party', 'cygwin',
    205                                                     'setup_mount.bat')
     203            setup_mount = port.path_from_chromium_base('third_party',
     204                'cygwin', 'setup_mount.bat')
    206205            subprocess.Popen(setup_mount).wait()
    207206
     
    230229        if self._process:
    231230            httpd_pid = self._process.pid
    232         port._shut_down_http_server(httpd_pid)
     231        self._port_obj._shut_down_http_server(httpd_pid)
    233232
    234233        if self._process:
  • trunk/WebKitTools/Scripts/webkitpy/layout_tests/port/websocket_server.py

    r54449 r54635  
    180180        if sys.platform in ('cygwin', 'win32'):
    181181            env['PATH'] = '%s;%s' % (
    182                 self._port_obj._path_from_base('third_party', 'cygwin', 'bin'),
     182                self._port_obj.path_from_chromium_base('third_party',
     183                                                       'cygwin', 'bin'),
    183184                env['PATH'])
    184185
    185186        if sys.platform == 'win32' and self._register_cygwin:
    186             setup_mount = self._port_obj._path_from_base('third_party',
    187                 'cygwin', 'setup_mount.bat')
     187            setup_mount = self._port_obj.path_from_chromium_base(
     188                'third_party', 'cygwin', 'setup_mount.bat')
    188189            subprocess.Popen(setup_mount).wait()
    189190
Note: See TracChangeset for help on using the changeset viewer.