Created
June 20, 2011 11:55
-
-
Save kkristof/1035494 to your computer and use it in GitHub Desktop.
nrwt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Tools/ChangeLog b/Tools/ChangeLog | |
index eedd122..a8b154a 100644 | |
--- a/Tools/ChangeLog | |
+++ b/Tools/ChangeLog | |
@@ -1,3 +1,12 @@ | |
+2011-06-14 Kristóf Kosztyó <Kosztyo.Kristof@stud.u-szeged.hu> | |
+ | |
+ Reviewed by NOBODY (OOPS!). | |
+ | |
+ [NRWT] Print error message when there is no httpd present on the system | |
+ https://bugs.webkit.org/show_bug.cgi?id=62027 | |
+ | |
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py: | |
+ | |
2011-06-09 Csaba Osztrogonác <ossy@webkit.org> | |
Unreviewed rolling out r88471, because it broke plugin tests on Qt. | |
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py b/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py | |
index 05a2338..ee230c1 100644 | |
--- a/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py | |
+++ b/Tools/Scripts/webkitpy/layout_tests/port/apache_http_server.py | |
@@ -206,6 +206,9 @@ class LayoutTestApacheHttpd(http_server_base.HttpServerBase): | |
return False | |
return True | |
+ def _get_httpd_path(self): | |
+ return self._start_cmd.split()[0] | |
+ | |
def start(self): | |
"""Starts the apache http server.""" | |
# Stop any currently running servers. | |
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/base.py b/Tools/Scripts/webkitpy/layout_tests/port/base.py | |
index bf4be0c..e0432fd 100755 | |
--- a/Tools/Scripts/webkitpy/layout_tests/port/base.py | |
+++ b/Tools/Scripts/webkitpy/layout_tests/port/base.py | |
@@ -188,6 +188,9 @@ class Port(object): | |
This step can be skipped with --nocheck-sys-deps. | |
Returns whether the system is properly configured.""" | |
+ if needs_http: | |
+ self.check_httpd() | |
+ | |
return True | |
def check_image_diff(self, override_step=None, logging=True): | |
@@ -227,6 +230,22 @@ class Port(object): | |
return True | |
+ def check_httpd(self): | |
+ if self.get_option('use_apache'): | |
+ server = apache_http_server.LayoutTestApacheHttpd(self, self.results_directory()) | |
+ else: | |
+ server = http_server.Lighttpd(self, self.results_directory()) | |
+ | |
+ if not has_httpd(server): | |
+ raise Exception('No httpd found. Cannot run http tests.') | |
+ | |
+ def has_httpd(self, server) | |
+ cmd = server._get_httpd_path | |
+ try: | |
+ return self._port_obj._executive.run_command([cmd, "-v"], return_exit_code=True) == 0 | |
+ except OSError, e: | |
+ return False | |
+ | |
def compare_text(self, expected_text, actual_text): | |
"""Return whether or not the two strings are *not* equal. This | |
routine is used to diff text output. | |
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/http_server.py b/Tools/Scripts/webkitpy/layout_tests/port/http_server.py | |
index e525ee0..1803b54 100755 | |
--- a/Tools/Scripts/webkitpy/layout_tests/port/http_server.py | |
+++ b/Tools/Scripts/webkitpy/layout_tests/port/http_server.py | |
@@ -102,6 +102,9 @@ class Lighttpd(http_server_base.HttpServerBase): | |
def is_running(self): | |
return self._process != None | |
+ def _get_httpd_path(self): | |
+ return self._port_obj._path_to_lighttpd().split()[0] | |
+ | |
def start(self): | |
if self.is_running(): | |
raise 'Lighttpd already running' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment