summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authormmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-19 21:27:03 +0000
committermmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-19 21:27:03 +0000
commit227963d1a68d4e52d164216f62ee4acc713be3fa (patch)
tree81a0762ffefd0d2a318b97c94e186a26aa68dcf1 /webkit
parent3c71b876e1a8948e8cec1b25d92220c52f84b546 (diff)
downloadchromium_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.py4
-rw-r--r--webkit/tools/layout_tests/layout_package/platform_utils_linux.py14
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):