Index: Tools/Scripts/webkitpy/layout_tests/servers/cli_wrapper.py |
diff --git a/Tools/Scripts/run-blink-websocketserver b/Tools/Scripts/webkitpy/layout_tests/servers/cli_wrapper.py |
old mode 100755 |
new mode 100644 |
similarity index 64% |
copy from Tools/Scripts/run-blink-websocketserver |
copy to Tools/Scripts/webkitpy/layout_tests/servers/cli_wrapper.py |
index 02d78bc89aa5eb64f938c04504db395366c9a1e5..e1353e08a5337b9ba887357772dc0df3737dd924 |
--- a/Tools/Scripts/run-blink-websocketserver |
+++ b/Tools/Scripts/webkitpy/layout_tests/servers/cli_wrapper.py |
@@ -1,5 +1,4 @@ |
-#!/usr/bin/env python |
-# Copyright (C) 2012 Google Inc. All rights reserved. |
+# Copyright (C) 2010 Google Inc. All rights reserved. |
# |
# Redistribution and use in source and binary forms, with or without |
# modification, are permitted provided that the following conditions are |
@@ -27,45 +26,39 @@ |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-"""A utility script for starting and stopping the web socket server with the |
- same configuration as used in the layout tests.""" |
+"""A utility script for starting and stopping servers as they are used in the layout tests.""" |
import logging |
import optparse |
-import tempfile |
from webkitpy.common.host import Host |
-from webkitpy.layout_tests.servers import websocket_server |
+_log = logging.getLogger(__name__) |
+ |
+ |
+def main(server_constructor, input_fn=None, argv=None, **kwargs): |
+ input_fn = input_fn or raw_input |
-def main(): |
option_parser = optparse.OptionParser() |
- option_parser.add_option('--server', type='choice', |
- choices=['start', 'stop'], default='start', |
- help='Server action (start|stop).') |
option_parser.add_option('--output-dir', dest='output_dir', |
default=None, help='output directory.') |
- option_parser.add_option('-v', '--verbose', action='store_true', |
- default=False, |
- help='Include debug-level logging.') |
- options, args = option_parser.parse_args() |
+ option_parser.add_option('-v', '--verbose', action='store_true') |
+ options, args = option_parser.parse_args(argv) |
- if not options.output_dir: |
- options.output_dir = tempfile.gettempdir() |
+ logging.basicConfig() |
+ logger = logging.getLogger() |
+ logger.setLevel(logging.DEBUG if options.verbose else logging.INFO) |
host = Host() |
port_obj = host.port_factory.get() |
- pywebsocket = websocket_server.PyWebSocket(port_obj, options.output_dir) |
- |
- log_level = logging.WARN |
- if options.verbose: |
- log_level = logging.DEBUG |
- logging.basicConfig(level=log_level) |
+ if not options.output_dir: |
+ options.output_dir = port_obj.default_results_directory() |
- if 'start' == options.server: |
- pywebsocket.start() |
- else: |
- pywebsocket.stop() |
+ server = server_constructor(port_obj, options.output_dir, **kwargs) |
+ server.start() |
+ try: |
+ _ = input_fn('Hit any key to stop the server and exit.') |
+ except (KeyboardInterrupt, EOFError) as e: |
+ pass |
-if '__main__' == __name__: |
- main() |
+ server.stop() |