diff options
author | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-19 21:27:03 +0000 |
---|---|---|
committer | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-19 21:27:03 +0000 |
commit | 227963d1a68d4e52d164216f62ee4acc713be3fa (patch) | |
tree | 81a0762ffefd0d2a318b97c94e186a26aa68dcf1 /webkit | |
parent | 3c71b876e1a8948e8cec1b25d92220c52f84b546 (diff) | |
download | chromium_src-227963d1a68d4e52d164216f62ee4acc713be3fa.zip chromium_src-227963d1a68d4e52d164216f62ee4acc713be3fa.tar.gz chromium_src-227963d1a68d4e52d164216f62ee4acc713be3fa.tar.bz2 |
Support manual HTTP server "start/stop" on Linux.
This makes the Layout Tests instructions work on Linux:
http://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tests
Review URL: http://codereview.chromium.org/11490
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5710 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/tools/layout_tests/layout_package/http_server.py | 4 | ||||
-rw-r--r-- | webkit/tools/layout_tests/layout_package/platform_utils_linux.py | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/webkit/tools/layout_tests/layout_package/http_server.py b/webkit/tools/layout_tests/layout_package/http_server.py index c8ca8675..f9b2a69 100644 --- a/webkit/tools/layout_tests/layout_package/http_server.py +++ b/webkit/tools/layout_tests/layout_package/http_server.py @@ -12,6 +12,7 @@ import os import platform_utils import subprocess import sys +import tempfile import time import urllib @@ -205,9 +206,8 @@ if '__main__' == __name__: else: if (options.root is None) != (options.port is None): raise 'Either port or root is missing (need both, or neither)' - httpd = Lighttpd('c:/cygwin/tmp', port=options.port, root=options.root) + httpd = Lighttpd(tempfile.gettempdir(), port=options.port, root=options.root) if 'start' == options.server: httpd.Start() else: httpd.Stop(force=True) - diff --git a/webkit/tools/layout_tests/layout_package/platform_utils_linux.py b/webkit/tools/layout_tests/layout_package/platform_utils_linux.py index 70886bd..090c039 100644 --- a/webkit/tools/layout_tests/layout_package/platform_utils_linux.py +++ b/webkit/tools/layout_tests/layout_package/platform_utils_linux.py @@ -133,8 +133,18 @@ class PlatformUtility(object): Args: server_process: The subprocess object representing the running server """ - subprocess.Popen(('kill', '-TERM', '%d' % server_process.pid), - stdout=subprocess.PIPE, + # server_process is not set when "http_server.py stop" is run manually. + if server_process is None: + # Try to determine the HTTP server process. + # TODO(mmoss) This isn't ideal, since it could conflict with lighttpd + # processes not started by http_server.py, but good enough for now. + proc = subprocess.Popen(('ps', '--no-headers', '-o', 'pid', + '-C', 'lighttpd'), + stdout=subprocess.PIPE) + pid = proc.stdout.readline().strip() + else: + pid = server_process.pid + subprocess.Popen(('kill', '-TERM', '%s' % pid), stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait() def WDiffExecutablePath(self): |