Changes between Version 27 and Version 28 of WebKitGtkLayoutTests


Ignore:
Timestamp:
Jun 19, 2013, 10:20:46 AM (12 years ago)
Author:
Andres Gomez
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGtkLayoutTests

    v27 v28  
    4242== Common Problems ==
    4343
    44 === Running python based test with multiprocess support ===
     44=== chroot derived problems ===
    4545
    46 I'm running my development environment in a schroot with Ubuntu in an
    47 Ubuntu host.
    48 
    49 It hapenned to me the following error when trying to run the tests
    50 
    51 {{{
    52 $ ./Tools/Scripts/run-webkit-tests --gtk --debug
    53 Using port 'gtk'
    54 Test configuration: <, x86, debug>
    55 Placing test results in /opt/webkit/WebKit.git/WebKitBuild/Debug/layout-test-results
    56 Baseline search path: gtk -> generic
    57 Using Debug build
    58 Pixel tests disabled
    59 Regular timeout: 12000, slow test timeout: 60000
    60 Command line: /opt/webkit/WebKit.git/WebKitBuild/Debug/Programs/DumpRenderTree -
    61 
    62 Found 31495 tests; running 28693, skipping 2802.
    63 Running 4 DumpRenderTrees in parallel over 727 shards (1 locked).
    64 
    65 Releasing server lock ...
    66 OSError raised: [Errno 38] Function not implemented
    67     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 110, in run
    68       unexpected_result_count = manager.run(args)
    69     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 411, in run
    70       self._run_tests(self._test_names, result_summary, int(self._options.child_processes))
    71     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 464, in _run_tests
    72       return self._runner.run_tests(test_inputs, self._expectations, result_summary, num_workers, needs_http, needs_websockets, self._retrying)
    73     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 141, in run_tests
    74       with message_pool.get(self, self._worker_factory, num_workers, self._port.worker_startup_delay_secs(), self._port.host) as pool:
    75     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/common/message_pool.py", line 61, in get
    76       return _MessagePool(caller, worker_factory, num_workers, worker_startup_delay_secs, host)
    77     File "/opt/webkit/WebKit.git/Tools/Scripts/webkitpy/common/message_pool.py", line 79, in __init__
    78       self._messages_to_worker = multiprocessing.Queue()
    79     File "/usr/lib/python2.7/multiprocessing/__init__.py", line 218, in Queue
    80       return Queue(maxsize)
    81     File "/usr/lib/python2.7/multiprocessing/queues.py", line 63, in __init__
    82       self._rlock = Lock()
    83     File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in __init__
    84       SemLock.__init__(self, SEMAPHORE, 1, 1)
    85     File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__
    86       sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
    87 Failed to execute Tools/Scripts/new-run-webkit-tests at ./Tools/Scripts/run-webkit-tests line 126.
    88 }}}
    89 
    90 The reason is explained in this post
    91 http://www.boris.co/2012/02/server-ubuntu-11.html
    92 
    93 Python's _multithreading requires /dev/shm to work. In Ubuntu /dev/shm
    94 points to /run/shm by default. Rename (or delete, I doubt it is
    95 necessary anymore) existing /dev/shm.
    96 
    97 Create /dev/shm directory
    98 
    99 {{{
    100 $ sudo -i (become root)
    101 $ mkdir /dev/shm
    102 }}}
    103 
    104 Add to /etc/fstab mounting of /dev/shm command
    105 
    106 {{{
    107 tmpfs /dev/shm    tmpfs   defaults,noexec,nosuid     0     0
    108 }}}
    109 
    110 Mount all unmounted filesystems from /etc/fstab.
    111 
    112 {{{
    113 $ mount -a
    114 }}}
    115 
    116 You may need to do this into your schroot too.
     46There are some instructions to avoid common problems derived from having a [wiki:WebKitGTK/Chroot#Runningpythonbasedtestwithmultiprocesssupport chroot based working environment].