Switch test_sky to sky_server

Adam did this in:
https://codereview.chromium.org/699333002
But later reverted in:
https://codereview.chromium.org/692333007

The problem was that the path to sky_server
was being computed relative to the sky
directory instead of being absolute, so when
the bots tried to run test_sky from the root
mojo directory instead of mojo/sky they failed.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/704833002
This commit is contained in:
Eric Seidel 2014-11-05 13:08:49 -08:00
parent 46a9ce7254
commit a934c7fc09
7 changed files with 23 additions and 25 deletions

View File

@ -1,17 +1,17 @@
ERROR: Uncaught SyntaxError: Unexpected token <
SOURCE: http://127.0.0.1:8000/parser/script.sky:6
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:6
ERROR: Uncaught SyntaxError: Unexpected token <
SOURCE: http://127.0.0.1:8000/parser/script.sky:14
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:14
ERROR: Uncaught SyntaxError: Unexpected token <
SOURCE: http://127.0.0.1:8000/parser/script.sky:21
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:21
ERROR: Uncaught ReferenceError: TEST is not defined
SOURCE: http://127.0.0.1:8000/parser/script.sky:27
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:27
ERROR: Uncaught SyntaxError: Invalid regular expression: missing /
SOURCE: http://127.0.0.1:8000/parser/script.sky:34
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:34
ERROR: Uncaught SyntaxError: Invalid regular expression: missing /
SOURCE: http://127.0.0.1:8000/parser/script.sky:38
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:38
ERROR: Uncaught SyntaxError: Unexpected token }
SOURCE: http://127.0.0.1:8000/parser/script.sky:43
SOURCE: http://127.0.0.1:8000/sky/tests/parser/script.sky:43
<html>
<import src="../resources/dump-as-markup.sky"></import>
<body>

View File

@ -1,4 +1,4 @@
CONSOLE: LOG: url => http://127.0.0.1:8000/services/resources/pass.txt
CONSOLE: LOG: url => http://127.0.0.1:8000/sky/tests/services/resources/pass.txt
CONSOLE: LOG: status_line => HTTP/1.1 200 OK
CONSOLE: LOG: mime_type => text/plain
CONSOLE: LOG: read 31 bytes

View File

@ -23,7 +23,7 @@ describe('Mojo network_service', function() {
loader.URLLoader.stubClass,
loader.URLLoader.proxyClass);
var urlRequest = new loader.URLRequest();
urlRequest.url = "http://127.0.0.1:8000/services/resources/pass.txt";
urlRequest.url = "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt";
urlRequest.method = "GET";
urlRequest.auto_follow_redirects = true;
var urlRequestPromise = urlLoaderConnection.remote.start(urlRequest);

View File

@ -17,7 +17,7 @@ describe('XMLHttpRequest', function() {
assert.ok(false, "Got error: " + JSON.stringify(error));
done();
};
xhr.open("GET", "http://127.0.0.1:8000/services/resources/pass.txt");
xhr.open("GET", "http://127.0.0.1:8000/sky/tests/services/resources/pass.txt");
xhr.send();
});
});

View File

@ -72,7 +72,7 @@ class WebKitFinder(object):
"""Returns the relative path to the script from the top of the WebKit tree."""
# This is intentionally relative in order to force callers to consider what
# their current working directory is (and change to the top of the tree if necessary).
return self._filesystem.join("tools", script_name)
return self.path_from_chromium_base("sky", "tools", script_name)
def layout_tests_dir(self):
return self.path_from_webkit_base('tests')

View File

@ -34,11 +34,12 @@ import difflib
import errno
import itertools
import logging
import os
import math
import operator
import optparse
import math
import os
import re
import subprocess
import sys
try:
@ -1098,11 +1099,12 @@ class Port(object):
Ports can stub this out if they don't need a web server to be running."""
assert not self._http_server, 'Already running an http server.'
server = apache_http.ApacheHTTP(self, self.results_directory(),
additional_dirs=additional_dirs,
number_of_servers=number_of_drivers)
server.start()
self._http_server = server
self._http_server = subprocess.Popen([
self.path_to_script('sky_server'),
'-t', self.get_option('configuration'),
self.path_from_chromium_base(),
'8000',
])
def start_websocket_server(self):
"""Start a web server. Raise an error if it can't start or is already running.
@ -1138,7 +1140,7 @@ class Port(object):
def stop_http_server(self):
"""Shut down the http server if it is running. Do nothing if it isn't."""
if self._http_server:
self._http_server.stop()
self._http_server.terminate()
self._http_server = None
def stop_websocket_server(self):

View File

@ -230,12 +230,8 @@ class Driver(object):
'/http/tests/security/mixedContent/https/test1.html') will be loaded
over HTTPS; all other tests over HTTP.
"""
if not self.is_http_test(test_name):
return path.abspath_to_uri(self._port.host.platform, self._port.abspath_for_test(test_name))
if "/https/" in test_name:
return "https://127.0.0.1:8443/" + test_name
return "http://127.0.0.1:8000/" + test_name
assert self.is_http_test(test_name)
return "http://127.0.0.1:8000/sky/tests/" + test_name
def uri_to_test(self, uri):
"""Return the base layout test name for a given URI.