summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
authormhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 23:53:57 +0000
committermhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 23:53:57 +0000
commitd9735af55ab6fe947c68eb27c686df901d260398 (patch)
tree57e50782673d320a12aa602a3d62db69bf894b1e /webkit/tools
parent01c022ac4ee3ba1c3840544f3493cf0690e03125 (diff)
downloadchromium_src-d9735af55ab6fe947c68eb27c686df901d260398.zip
chromium_src-d9735af55ab6fe947c68eb27c686df901d260398.tar.gz
chromium_src-d9735af55ab6fe947c68eb27c686df901d260398.tar.bz2
Clean up code duplication in layout test http_server.
Refactored out UrlIsAlive to live outside the ApacheHttpd class and imported http_utils.py into http_server.py Now they share common code. BUG=6784 TEST=started and stopped http_server successfully. Review URL: http://codereview.chromium.org/243022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28351 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools')
-rwxr-xr-x[-rw-r--r--]webkit/tools/layout_tests/layout_package/http_server.py38
1 files changed, 6 insertions, 32 deletions
diff --git a/webkit/tools/layout_tests/layout_package/http_server.py b/webkit/tools/layout_tests/layout_package/http_server.py
index 9f328f6b..f438f43 100644..100755
--- a/webkit/tools/layout_tests/layout_package/http_server.py
+++ b/webkit/tools/layout_tests/layout_package/http_server.py
@@ -17,6 +17,7 @@ import time
import urllib
import path_utils
+import google.httpd_utils
def RemoveLogFiles(folder, starts_with):
files = os.listdir(folder)
@@ -25,9 +26,6 @@ def RemoveLogFiles(folder, starts_with):
full_path = os.path.join(folder, file)
os.remove(full_path)
-class HttpdNotStarted(Exception):
- pass
-
class Lighttpd:
# Webkit tests
try:
@@ -220,38 +218,14 @@ class Lighttpd:
for mapping in mappings:
url = 'http%s://127.0.0.1:%d/' % ('sslcert' in mapping and 's' or '',
mapping['port'])
- if not self._UrlIsAlive(url):
- raise HttpdNotStarted('Failed to start httpd on port %s' %
- str(mapping['port']))
+ if not google.httpd_utils.UrlIsAlive(url):
+ raise google.httpd_utils.HttpdNotStarted('Failed to start httpd on ',
+ 'port %s' %
+ str(mapping['port']))
# Our process terminated already
if self._process.returncode != None:
- raise HttpdNotStarted('Failed to start httpd.')
-
- def _UrlIsAlive(self, url):
- """Checks to see if we get an http response from |url|.
- We poll the url 5 times with a 3 second delay. If we don't
- get a reply in that time, we give up and assume the httpd
- didn't start properly.
-
- Args:
- url: The URL to check.
- Return:
- True if the url is alive.
- """
- attempts = 5
- while attempts > 0:
- try:
- response = urllib.urlopen(url)
- # Server is up and responding.
- return True
- except IOError:
- pass
- attempts -= 1
- # Wait 3 seconds and try again.
- time.sleep(3)
-
- return False
+ raise google.httpd_utils.HttpdNotStarted('Failed to start httpd.')
# TODO(deanm): Find a nicer way to shutdown cleanly. Our log files are
# probably not being flushed, etc... why doesn't our python have os.kill ?