Bug 78565

Summary: webkitpy: create ports in Workers, not in manager_worker_broker
Product: WebKit Reporter: Dirk Pranke <dpranke>
Component: New BugsAssignee: Dirk Pranke <dpranke>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, ap, ojan, oscar.underground.oscar, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 78171    
Attachments:
Description Flags
Patch
none
add comment about the change in run_webkit_tests.py tony: review+

Dirk Pranke
Reported 2012-02-13 19:12:20 PST
webkitpy: create ports in Workers, not in manager_worker_broker
Attachments
Patch (7.77 KB, patch)
2012-02-13 19:14 PST, Dirk Pranke
no flags
add comment about the change in run_webkit_tests.py (7.83 KB, patch)
2012-02-13 19:16 PST, Dirk Pranke
tony: review+
Dirk Pranke
Comment 1 2012-02-13 19:14:58 PST
Dirk Pranke
Comment 2 2012-02-13 19:16:15 PST
Created attachment 126889 [details] add comment about the change in run_webkit_tests.py
Dirk Pranke
Comment 3 2012-02-13 19:29:11 PST
Tony, can you take a look?
Tony Chang
Comment 4 2012-02-14 11:03:02 PST
Comment on attachment 126889 [details] add comment about the change in run_webkit_tests.py View in context: https://bugs.webkit.org/attachment.cgi?id=126889&action=review > Tools/ChangeLog:13 > + bug 78171. > + > + * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: Is this covered by existing tests? Please name the tests that cover this in the ChangeLog. > Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:90 > + # we are running in a child process and need to create a new Host. Nit: Capitalize 'we'. > Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:97 > + host._initialize_scm() For my education, do we always have to call _initialize_scm() on host objects? I noticed that running layout tests always calls this, which runs svn and git to determine the checkout type, even though we never use the information (e.g., if all the tests pass). It's slow on my Windows machine. > Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:107 > + # FIXME: this won't work if the calling process is logging Nit: Capitalize 'this'.
Dirk Pranke
Comment 5 2012-02-14 11:10:01 PST
Comment on attachment 126889 [details] add comment about the change in run_webkit_tests.py View in context: https://bugs.webkit.org/attachment.cgi?id=126889&action=review >> Tools/ChangeLog:13 >> + * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py: > > Is this covered by existing tests? Please name the tests that cover this in the ChangeLog. Yes, this is well-covered by run_webkit_tests_integrationtest.py; will note that. >> Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:90 >> + # we are running in a child process and need to create a new Host. > > Nit: Capitalize 'we'. Will do. >> Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:97 >> + host._initialize_scm() > > For my education, do we always have to call _initialize_scm() on host objects? I noticed that running layout tests always calls this, which runs svn and git to determine the checkout type, even though we never use the information (e.g., if all the tests pass). It's slow on my Windows machine. You only need to call initialize_scm() if you need to actually access scm/checkout objects. We need this in the manager process in order to properly generate the json result information (although I thought Ojan had patched the code at some point to only do this during that routine). I don't think we need it at all in the child process ... this code was cloned from run_webkit_tests.py, and I will remove it. It is slow. >> Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:107 >> + # FIXME: this won't work if the calling process is logging > > Nit: Capitalize 'this'. Will do.
Dirk Pranke
Comment 6 2012-02-14 11:25:52 PST
Tony Chang
Comment 7 2012-02-14 14:52:24 PST
When I run "new-run-webkit-tests --pixel --release svg" on the command line, I get: No handlers could be found for logger "webkitpy.layout_tests.port.mac" Starting 1 worker ...Process _Process-1: Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/multiprocessing/process.py", line 231, in _bootstrap self.run() File "/Users/tc/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py", line 246, in run self._client.run(port=None) File "/Users/tc/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py", line 91, in run if 'test' in self._options.platform: TypeError: argument of type 'NoneType' is not iterable Starting testing ...
Note You need to log in before you can comment on or make changes to this bug.