Title: [120795] trunk/Tools
- Revision
- 120795
- Author
- [email protected]
- Date
- 2012-06-19 21:06:17 -0700 (Tue, 19 Jun 2012)
Log Message
NRWT spins up and down the WebSocket server when running a single HTTP test from the command line
https://bugs.webkit.org/show_bug.cgi?id=64489
Reviewed by Tony Chang.
This change changes NRWT so that we don't start the websocket
server if we aren't running websocket tests and don't start the
HTTP server if we aren't running http tests.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._websocket_tests):
(Manager.start_servers_with_lock):
(Manager.stop_servers_with_lock):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_servers_started):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (120794 => 120795)
--- trunk/Tools/ChangeLog 2012-06-20 04:01:29 UTC (rev 120794)
+++ trunk/Tools/ChangeLog 2012-06-20 04:06:17 UTC (rev 120795)
@@ -1,5 +1,23 @@
2012-06-19 Dirk Pranke <[email protected]>
+ NRWT spins up and down the WebSocket server when running a single HTTP test from the command line
+ https://bugs.webkit.org/show_bug.cgi?id=64489
+
+ Reviewed by Tony Chang.
+
+ This change changes NRWT so that we don't start the websocket
+ server if we aren't running websocket tests and don't start the
+ HTTP server if we aren't running http tests.
+
+ * Scripts/webkitpy/layout_tests/controllers/manager.py:
+ (Manager._websocket_tests):
+ (Manager.start_servers_with_lock):
+ (Manager.stop_servers_with_lock):
+ * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
+ (ManagerTest.test_servers_started):
+
+2012-06-19 Dirk Pranke <[email protected]>
+
test-webkitpy: add a -p flag to pass through captured output to enable debugging
https://bugs.webkit.org/show_bug.cgi?id=89158
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (120794 => 120795)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py 2012-06-20 04:01:29 UTC (rev 120794)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py 2012-06-20 04:06:17 UTC (rev 120795)
@@ -366,6 +366,9 @@
def _http_tests(self):
return set(test for test in self._test_files if self._is_http_test(test))
+ def _websocket_tests(self):
+ return set(test for test in self._test_files if self.WEBSOCKET_SUBDIR in test)
+
def _is_perf_test(self, test):
return self.PERF_SUBDIR == test or (self.PERF_SUBDIR + self._port.TEST_PATH_SEPARATOR) in test
@@ -762,7 +765,7 @@
all_shards = locked_shards + unlocked_shards
self._remaining_locked_shards = locked_shards
- if locked_shards and self._options.http:
+ if self._options.http and (self._http_tests() or self._websocket_tests()):
self.start_servers_with_lock()
num_workers = min(num_workers, len(all_shards))
@@ -967,21 +970,24 @@
return self._port.exit_code_from_summarized_results(unexpected_results)
def start_servers_with_lock(self):
- assert(self._options.http)
self._printer.print_update('Acquiring http lock ...')
self._port.acquire_http_lock()
- self._printer.print_update('Starting HTTP server ...')
- self._port.start_http_server()
- self._printer.print_update('Starting WebSocket server ...')
- self._port.start_websocket_server()
+ if self._http_tests():
+ self._printer.print_update('Starting HTTP server ...')
+ self._port.start_http_server()
+ if self._websocket_tests():
+ self._printer.print_update('Starting WebSocket server ...')
+ self._port.start_websocket_server()
self._has_http_lock = True
def stop_servers_with_lock(self):
if self._has_http_lock:
- self._printer.print_update('Stopping HTTP server ...')
- self._port.stop_http_server()
- self._printer.print_update('Stopping WebSocket server ...')
- self._port.stop_websocket_server()
+ if self._http_tests():
+ self._printer.print_update('Stopping HTTP server ...')
+ self._port.stop_http_server()
+ if self._websocket_tests():
+ self._printer.print_update('Stopping WebSocket server ...')
+ self._port.stop_websocket_server()
self._printer.print_update('Releasing server lock ...')
self._port.release_http_lock()
self._has_http_lock = False
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py (120794 => 120795)
--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py 2012-06-20 04:01:29 UTC (rev 120794)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py 2012-06-20 04:06:17 UTC (rev 120795)
@@ -342,7 +342,59 @@
manager = get_manager_with_tests(tests)
manager._look_for_new_crash_logs(rs, time.time())
+ def test_servers_started(self):
+ def start_http_server():
+ self.http_started = True
+
+ def start_websocket_server():
+ self.websocket_started = True
+
+ def stop_http_server():
+ self.http_stopped = True
+
+ def stop_websocket_server():
+ self.websocket_stopped = True
+
+ host = MockHost()
+ port = host.port_factory.get('test-mac-leopard')
+ port.start_http_server = start_http_server
+ port.start_websocket_server = start_websocket_server
+ port.stop_http_server = stop_http_server
+ port.stop_websocket_server = stop_websocket_server
+
+ self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False
+ manager = Manager(port=port, options=MockOptions(http=True), printer=Mock())
+ manager._test_files = ['http/tests/pass.txt']
+ manager.start_servers_with_lock()
+ self.assertEquals(self.http_started, True)
+ self.assertEquals(self.websocket_started, False)
+ manager.stop_servers_with_lock()
+ self.assertEquals(self.http_stopped, True)
+ self.assertEquals(self.websocket_stopped, False)
+
+ self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False
+ manager = Manager(port=port, options=MockOptions(http=True), printer=Mock())
+ manager._test_files = ['websocket/pass.txt']
+ manager.start_servers_with_lock()
+ self.assertEquals(self.http_started, True)
+ self.assertEquals(self.websocket_started, True)
+ manager.stop_servers_with_lock()
+ self.assertEquals(self.http_stopped, True)
+ self.assertEquals(self.websocket_stopped, True)
+
+ self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False
+ manager = Manager(port=port, options=MockOptions(http=True), printer=Mock())
+ manager._test_files = ['perf/foo/test.html']
+ manager.start_servers_with_lock()
+ self.assertEquals(self.http_started, False)
+ self.assertEquals(self.websocket_started, False)
+ manager.stop_servers_with_lock()
+ self.assertEquals(self.http_stopped, False)
+ self.assertEquals(self.websocket_stopped, False)
+
+
+
class NaturalCompareTest(unittest.TestCase):
def assert_cmp(self, x, y, result):
self.assertEquals(cmp(natural_sort_key(x), natural_sort_key(y)), result)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes