diff options
author | mhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 23:53:57 +0000 |
---|---|---|
committer | mhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 23:53:57 +0000 |
commit | d9735af55ab6fe947c68eb27c686df901d260398 (patch) | |
tree | 57e50782673d320a12aa602a3d62db69bf894b1e /webkit/tools | |
parent | 01c022ac4ee3ba1c3840544f3493cf0690e03125 (diff) | |
download | chromium_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.py | 38 |
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 ? |