Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Unified Diff: tools/testing/dart/browser_controller.dart

Issue 1859973002: Autoformat tools/testing/dart (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Format whole directory Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/testing/dart/android.dart ('k') | tools/testing/dart/browser_perf_testing/pubspec.yaml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testing/dart/browser_controller.dart
diff --git a/tools/testing/dart/browser_controller.dart b/tools/testing/dart/browser_controller.dart
index 2e5c1e736c06ed574a5cf43756042f6a2e21dc4e..6e375499bf2f37690c0ecd93ce40d79157f0fb99 100644
--- a/tools/testing/dart/browser_controller.dart
+++ b/tools/testing/dart/browser_controller.dart
@@ -67,9 +67,8 @@ abstract class Browser {
Browser();
- factory Browser.byName(String name,
- String executablePath,
- [bool checkedMode = false]) {
+ factory Browser.byName(String name, String executablePath,
+ [bool checkedMode = false]) {
var browser;
if (name == 'firefox') {
browser = new Firefox();
@@ -90,12 +89,21 @@ abstract class Browser {
return browser;
}
- static const List<String> SUPPORTED_BROWSERS =
- const ['safari', 'ff', 'firefox', 'chrome', 'ie9', 'ie10',
- 'ie11', 'dartium'];
-
- static const List<String> BROWSERS_WITH_WINDOW_SUPPORT =
- const ['ie11', 'ie10'];
+ static const List<String> SUPPORTED_BROWSERS = const [
+ 'safari',
+ 'ff',
+ 'firefox',
+ 'chrome',
+ 'ie9',
+ 'ie10',
+ 'ie11',
+ 'dartium'
+ ];
+
+ static const List<String> BROWSERS_WITH_WINDOW_SUPPORT = const [
+ 'ie11',
+ 'ie10'
+ ];
// TODO(kustermann): add standard support for chrome on android
static bool supportedBrowser(String name) {
@@ -144,10 +152,10 @@ abstract class Browser {
* Start the browser using the supplied argument.
* This sets up the error handling and usage logging.
*/
- Future<bool> startBrowserProcess(String command,
- List<String> arguments,
- {Map<String,String> environment}) {
- return Process.start(command, arguments, environment: environment)
+ Future<bool> startBrowserProcess(String command, List<String> arguments,
+ {Map<String, String> environment}) {
+ return Process
+ .start(command, arguments, environment: environment)
.then((startedProcess) {
_logEvent("Started browser using $command ${arguments.join(' ')}");
process = startedProcess;
@@ -169,7 +177,7 @@ abstract class Browser {
// handles alive even though the direct subprocess is dead.
Timer watchdogTimer;
- void closeStdout([_]){
+ void closeStdout([_]) {
if (!stdoutIsDone) {
stdoutDone.complete();
stdoutIsDone = true;
@@ -192,7 +200,7 @@ abstract class Browser {
}
stdoutSubscription =
- process.stdout.transform(UTF8.decoder).listen((data) {
+ process.stdout.transform(UTF8.decoder).listen((data) {
_addStdout(data);
}, onError: (error) {
// This should _never_ happen, but we really want this in the log
@@ -201,21 +209,21 @@ abstract class Browser {
}, onDone: closeStdout);
stderrSubscription =
- process.stderr.transform(UTF8.decoder).listen((data) {
+ process.stderr.transform(UTF8.decoder).listen((data) {
_addStderr(data);
}, onError: (error) {
// This should _never_ happen, but we really want this in the log
// if it actually does due to dart:io or vm bug.
_logEvent("An error occured in the process stderr handling: $error");
- }, onDone: closeStderr);
+ }, onDone: closeStderr);
process.exitCode.then((exitCode) {
_logEvent("Browser closed with exitcode $exitCode");
if (!stdoutIsDone || !stderrIsDone) {
watchdogTimer = new Timer(MAX_STDIO_DELAY, () {
- DebugLogger.warning(
- "$MAX_STDIO_DELAY_PASSED_MESSAGE (browser: $this)");
+ DebugLogger
+ .warning("$MAX_STDIO_DELAY_PASSED_MESSAGE (browser: $this)");
watchdogTimer = null;
stdoutSubscription.cancel();
stderrSubscription.cancel();
@@ -255,7 +263,7 @@ abstract class Browser {
* where it will be reported for failing tests. Used to report which
* android device a failing test is running on.
*/
- void logBrowserInfoToTestBrowserOutput() { }
+ void logBrowserInfoToTestBrowserOutput() {}
String toString();
@@ -274,19 +282,22 @@ class Safari extends Browser {
* Directories where safari stores state. We delete these if the deleteCache
* is set
*/
- static const List<String> CACHE_DIRECTORIES =
- const ["Library/Caches/com.apple.Safari",
- "Library/Safari",
- "Library/Saved Application State/com.apple.Safari.savedState",
- "Library/Caches/Metadata/Safari"];
-
+ static const List<String> CACHE_DIRECTORIES = const [
+ "Library/Caches/com.apple.Safari",
+ "Library/Safari",
+ "Library/Saved Application State/com.apple.Safari.savedState",
+ "Library/Caches/Metadata/Safari"
+ ];
Future<bool> allowPopUps() {
var command = "defaults";
- var args = ["write", "com.apple.safari",
- "com.apple.Safari.ContentPageGroupIdentifier."
- "WebKit2JavaScriptCanOpenWindowsAutomatically",
- "1"];
+ var args = [
+ "write",
+ "com.apple.safari",
+ "com.apple.Safari.ContentPageGroupIdentifier."
+ "WebKit2JavaScriptCanOpenWindowsAutomatically",
+ "1"
+ ];
return Process.run(command, args).then((result) {
if (result.exitCode != 0) {
_logEvent("Could not disable pop-up blocking for safari");
@@ -302,12 +313,13 @@ class Safari extends Browser {
return directory.exists().then((exists) {
if (exists) {
_logEvent("Deleting ${paths.current}");
- return directory.delete(recursive: true)
- .then((_) => deleteIfExists(paths))
- .catchError((error) {
- _logEvent("Failure trying to delete ${paths.current}: $error");
- return false;
- });
+ return directory
+ .delete(recursive: true)
+ .then((_) => deleteIfExists(paths))
+ .catchError((error) {
+ _logEvent("Failure trying to delete ${paths.current}: $error");
+ return false;
+ });
} else {
_logEvent("${paths.current} is not present");
return deleteIfExists(paths);
@@ -380,7 +392,9 @@ class Safari extends Browser {
return getVersion().then((version) {
_logEvent("Got version: $version");
return Directory.systemTemp.createTemp().then((userDir) {
- _cleanup = () { userDir.deleteSync(recursive: true); };
+ _cleanup = () {
+ userDir.deleteSync(recursive: true);
+ };
_createLaunchHTML(userDir.path, url);
var args = ["${userDir.path}/launch.html"];
return startBrowserProcess(_binary, args);
@@ -396,7 +410,6 @@ class Safari extends Browser {
String toString() => "Safari";
}
-
class Chrome extends Browser {
String _version = "Version not found yet";
@@ -430,7 +443,6 @@ class Chrome extends Browser {
});
}
-
Future<bool> start(String url) {
_logEvent("Starting chrome browser on: $url");
// Get the version and log that.
@@ -439,11 +451,19 @@ class Chrome extends Browser {
_logEvent("Got version: $_version");
return Directory.systemTemp.createTemp().then((userDir) {
- _cleanup = () { userDir.deleteSync(recursive: true); };
- var args = ["--user-data-dir=${userDir.path}", url,
- "--disable-extensions", "--disable-popup-blocking",
- "--bwsi", "--no-first-run"];
- return startBrowserProcess(_binary, args, environment: _getEnvironment());
+ _cleanup = () {
+ userDir.deleteSync(recursive: true);
+ };
+ var args = [
+ "--user-data-dir=${userDir.path}",
+ url,
+ "--disable-extensions",
+ "--disable-popup-blocking",
+ "--bwsi",
+ "--no-first-run"
+ ];
+ return startBrowserProcess(_binary, args,
+ environment: _getEnvironment());
});
}).catchError((e) {
_logEvent("Running $_binary --version failed with $e");
@@ -454,14 +474,14 @@ class Chrome extends Browser {
String toString() => "Chrome";
}
-
class SafariMobileSimulator extends Safari {
/**
* Directories where safari simulator stores state. We delete these if the
* deleteCache is set
*/
- static const List<String> CACHE_DIRECTORIES =
- const ["Library/Application Support/iPhone Simulator/7.1/Applications"];
+ static const List<String> CACHE_DIRECTORIES = const [
+ "Library/Application Support/iPhone Simulator/7.1/Applications"
+ ];
// Clears the cache if the static deleteCache flag is set.
// Returns false if the command to actually clear the cache did not complete.
@@ -477,33 +497,34 @@ class SafariMobileSimulator extends Safari {
return clearCache().then((success) {
if (!success) {
_logEvent("Could not clear cache, exiting");
- return false;
+ return false;
}
- var args = ["-SimulateApplication",
- "/Applications/Xcode.app/Contents/Developer/Platforms/"
- "iPhoneSimulator.platform/Developer/SDKs/"
- "iPhoneSimulator7.1.sdk/Applications/MobileSafari.app/"
- "MobileSafari",
- "-u", url];
- return startBrowserProcess(_binary, args)
- .catchError((e) {
- _logEvent("Running $_binary --version failed with $e");
- return false;
- });
+ var args = [
+ "-SimulateApplication",
+ "/Applications/Xcode.app/Contents/Developer/Platforms/"
+ "iPhoneSimulator.platform/Developer/SDKs/"
+ "iPhoneSimulator7.1.sdk/Applications/MobileSafari.app/"
+ "MobileSafari",
+ "-u",
+ url
+ ];
+ return startBrowserProcess(_binary, args).catchError((e) {
+ _logEvent("Running $_binary --version failed with $e");
+ return false;
+ });
});
}
String toString() => "SafariMobileSimulator";
}
-
class Dartium extends Chrome {
final bool checkedMode;
Dartium(this.checkedMode);
Map<String, String> _getEnvironment() {
- var environment = new Map<String,String>.from(Platform.environment);
+ var environment = new Map<String, String>.from(Platform.environment);
// By setting this environment variable, dartium will forward "print()"
// calls in dart to the top-level javascript function "dartPrint()" if
// available.
@@ -519,10 +540,12 @@ class Dartium extends Chrome {
class IE extends Browser {
Future<String> getVersion() {
- var args = ["query",
- "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer",
- "/v",
- "svcVersion"];
+ var args = [
+ "query",
+ "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer",
+ "/v",
+ "svcVersion"
+ ];
return Process.run("reg", args).then((result) {
if (result.exitCode == 0) {
// The string we get back looks like this:
@@ -544,13 +567,13 @@ class IE extends Browser {
var localAppData = Platform.environment['LOCALAPPDATA'];
Directory dir = new Directory("$localAppData\\Microsoft\\"
- "Internet Explorer\\Recovery");
- return dir.delete(recursive: true)
- .then((_) { return true; })
- .catchError((error) {
- _logEvent("Deleting recovery dir failed with $error");
- return false;
- });
+ "Internet Explorer\\Recovery");
+ return dir.delete(recursive: true).then((_) {
+ return true;
+ }).catchError((error) {
+ _logEvent("Deleting recovery dir failed with $error");
+ return false;
+ });
}
Future<bool> start(String url) {
@@ -560,11 +583,10 @@ class IE extends Browser {
return startBrowserProcess(_binary, [url]);
});
}
- String toString() => "IE";
+ String toString() => "IE";
}
-
class AndroidBrowserConfig {
final String name;
final String package;
@@ -573,20 +595,14 @@ class AndroidBrowserConfig {
AndroidBrowserConfig(this.name, this.package, this.activity, this.action);
}
-
final contentShellOnAndroidConfig = new AndroidBrowserConfig(
'ContentShellOnAndroid',
'org.chromium.content_shell_apk',
'.ContentShellActivity',
'android.intent.action.VIEW');
-
-final dartiumOnAndroidConfig = new AndroidBrowserConfig(
- 'DartiumOnAndroid',
- 'com.google.android.apps.chrome',
- '.Main',
- 'android.intent.action.VIEW');
-
+final dartiumOnAndroidConfig = new AndroidBrowserConfig('DartiumOnAndroid',
+ 'com.google.android.apps.chrome', '.Main', 'android.intent.action.VIEW');
class AndroidBrowser extends Browser {
final bool checkedMode;
@@ -598,8 +614,8 @@ class AndroidBrowser extends Browser {
}
Future<bool> start(String url) {
- var intent = new Intent(
- _config.action, _config.package, _config.activity, url);
+ var intent =
+ new Intent(_config.action, _config.package, _config.activity, url);
return _adbDevice.waitForBootCompleted().then((_) {
return _adbDevice.forceStop(_config.package);
}).then((_) {
@@ -631,14 +647,13 @@ class AndroidBrowser extends Browser {
}
void logBrowserInfoToTestBrowserOutput() {
- _testBrowserOutput.stdout.write(
- 'Android device id: ${_adbDevice.deviceId}\n');
+ _testBrowserOutput.stdout
+ .write('Android device id: ${_adbDevice.deviceId}\n');
}
String toString() => _config.name;
}
-
class AndroidChrome extends Browser {
static const String viewAction = 'android.intent.action.VIEW';
static const String mainAction = 'android.intent.action.MAIN';
@@ -652,8 +667,8 @@ class AndroidChrome extends Browser {
AndroidChrome(this._adbDevice);
Future<bool> start(String url) {
- var browserIntent = new Intent(
- viewAction, browserPackage, '.BrowserActivity', url);
+ var browserIntent =
+ new Intent(viewAction, browserPackage, '.BrowserActivity', url);
var chromeIntent = new Intent(viewAction, chromePackage, '.Main', url);
var firefoxIntent = new Intent(viewAction, firefoxPackage, '.App', url);
var turnScreenOnIntent =
@@ -702,14 +717,13 @@ class AndroidChrome extends Browser {
}
void logBrowserInfoToTestBrowserOutput() {
- _testBrowserOutput.stdout.write(
- 'Android device id: ${_adbDevice.deviceId}\n');
+ _testBrowserOutput.stdout
+ .write('Android device id: ${_adbDevice.deviceId}\n');
}
String toString() => "chromeOnAndroid";
}
-
class Firefox extends Browser {
static const String enablePopUp =
'user_pref("dom.disable_open_during_load", false);';
@@ -741,13 +755,19 @@ class Firefox extends Browser {
return Directory.systemTemp.createTemp().then((userDir) {
_createPreferenceFile(userDir.path);
- _cleanup = () { userDir.deleteSync(recursive: true); };
- var args = ["-profile", "${userDir.path}",
- "-no-remote", "-new-instance", url];
- var environment = new Map<String,String>.from(Platform.environment);
+ _cleanup = () {
+ userDir.deleteSync(recursive: true);
+ };
+ var args = [
+ "-profile",
+ "${userDir.path}",
+ "-no-remote",
+ "-new-instance",
+ url
+ ];
+ var environment = new Map<String, String>.from(Platform.environment);
environment["MOZ_CRASHREPORTER_DISABLE"] = "1";
return startBrowserProcess(_binary, args, environment: environment);
-
});
}).catchError((e) {
_logEvent("Running $_binary --version failed with $e");
@@ -758,7 +778,6 @@ class Firefox extends Browser {
String toString() => "Firefox";
}
-
/**
* Describes the current state of a browser used for testing.
*/
@@ -777,7 +796,6 @@ class BrowserStatus {
BrowserStatus(Browser this.browser);
}
-
/**
* Describes a single test to be run in the browser.
*/
@@ -805,12 +823,9 @@ class BrowserTest {
id = _idCounter++;
}
- String toJSON() => JSON.encode({'url': url,
- 'id': id,
- 'isHtmlTest': false});
+ String toJSON() => JSON.encode({'url': url, 'id': id, 'isHtmlTest': false});
}
-
/**
* Describes a test with a custom HTML page to be run in the browser.
*/
@@ -818,15 +833,16 @@ class HtmlTest extends BrowserTest {
List<String> expectedMessages;
HtmlTest(url, doneCallback, timeout, this.expectedMessages)
- : super(url, doneCallback, timeout) { }
+ : super(url, doneCallback, timeout) {}
- String toJSON() => JSON.encode({'url': url,
- 'id': id,
- 'isHtmlTest': true,
- 'expectedMessages': expectedMessages});
+ String toJSON() => JSON.encode({
+ 'url': url,
+ 'id': id,
+ 'isHtmlTest': true,
+ 'expectedMessages': expectedMessages
+ });
}
-
/* Describes the output of running the test in a browser */
class BrowserTestOutput {
final Duration delayUntilTestStarted;
@@ -837,12 +853,11 @@ class BrowserTestOutput {
final BrowserOutput browserOutput;
final bool didTimeout;
- BrowserTestOutput(
- this.delayUntilTestStarted, this.duration, this.lastKnownMessage,
- this.browserOutput, {this.didTimeout: false});
+ BrowserTestOutput(this.delayUntilTestStarted, this.duration,
+ this.lastKnownMessage, this.browserOutput,
+ {this.didTimeout: false});
}
-
/// Encapsulates all the functionality for running tests in browsers.
/// Tests are added to the queue and the supplied callbacks are called
/// when a test completes.
@@ -879,8 +894,7 @@ class BrowserTestRunner {
DateTime lastEmptyTestQueueTime = new DateTime.now();
String _currentStartingBrowserId;
List<BrowserTest> testQueue = new List<BrowserTest>();
- Map<String, BrowserStatus> browserStatus =
- new Map<String, BrowserStatus>();
+ Map<String, BrowserStatus> browserStatus = new Map<String, BrowserStatus>();
var adbDeviceMapping = new Map<String, AdbDevice>();
List<AdbDevice> idleAdbDevices;
@@ -907,8 +921,9 @@ class BrowserTestRunner {
// When no browser is currently starting, _currentStartingBrowserId is null.
bool get aBrowserIsCurrentlyStarting => _currentStartingBrowserId != null;
void markCurrentlyStarting(String id) {
- _currentStartingBrowserId = id;
+ _currentStartingBrowserId = id;
}
+
void markNotCurrentlyStarting(String id) {
if (_currentStartingBrowserId == id) _currentStartingBrowserId = null;
}
@@ -916,32 +931,30 @@ class BrowserTestRunner {
// If [browserName] doesn't support opening new windows, we use new iframes
// instead.
bool get useIframe =>
- !Browser.BROWSERS_WITH_WINDOW_SUPPORT.contains(browserName);
+ !Browser.BROWSERS_WITH_WINDOW_SUPPORT.contains(browserName);
/// The optional testingServer parameter allows callers to pass in
/// a testing server with different behavior than the default
/// BrowserTestServer. The url handlers of the testingServer are
/// overwritten, so an existing handler can't be shared between instances.
- BrowserTestRunner(this.configuration,
- this.localIp,
- this.browserName,
- this.maxNumBrowsers,
- {BrowserTestingServer this.testingServer}) {
+ BrowserTestRunner(
+ this.configuration, this.localIp, this.browserName, this.maxNumBrowsers,
+ {BrowserTestingServer this.testingServer}) {
checkedMode = configuration['checked'];
if (browserName == 'ff') browserName = 'firefox';
}
Future start() async {
if (testingServer == null) {
- testingServer = new BrowserTestingServer(
- configuration, localIp, useIframe);
+ testingServer =
+ new BrowserTestingServer(configuration, localIp, useIframe);
}
await testingServer.start();
testingServer
- ..testDoneCallBack = handleResults
- ..testStatusUpdateCallBack = handleStatusUpdate
- ..testStartedCallBack = handleStarted
- ..nextTestCallBack = getNextTest;
+ ..testDoneCallBack = handleResults
+ ..testStatusUpdateCallBack = handleStatusUpdate
+ ..testStartedCallBack = handleStarted
+ ..nextTestCallBack = getNextTest;
if (browserName == 'chromeOnAndroid') {
var idbNames = await AdbHelper.listDevices();
idleAdbDevices = new List.from(idbNames.map((id) => new AdbDevice(id)));
@@ -974,7 +987,7 @@ class BrowserTestRunner {
final String url = testingServer.getDriverUrl(id);
Browser browser;
if (browserName == 'chromeOnAndroid') {
- AdbDevice device = idleAdbDevices.removeLast();
+ AdbDevice device = idleAdbDevices.removeLast();
adbDeviceMapping[id] = device;
browser = new AndroidChrome(device);
} else {
@@ -1008,11 +1021,11 @@ class BrowserTestRunner {
if (status.currentTest.id != testId) {
print("Expected test id ${status.currentTest.id} for"
- "${status.currentTest.url}");
+ "${status.currentTest.url}");
print("Got test id ${testId}");
print("Last test id was ${status.lastTest.id} for "
- "${status.currentTest.url}");
- throw("This should never happen, wrong test id");
+ "${status.currentTest.url}");
+ throw ("This should never happen, wrong test id");
}
testCache[testId] = status.currentTest.url;
@@ -1065,8 +1078,7 @@ class BrowserTestRunner {
// We simply kill the browser and starts up a new one!
// We could be smarter here, but it does not seems like it is worth it.
if (status.timeout) {
- DebugLogger.error(
- "Got test timeout for an already restarting browser");
+ DebugLogger.error("Got test timeout for an already restarting browser");
return;
}
status.timeout = true;
@@ -1127,8 +1139,7 @@ class BrowserTestRunner {
// Restart Internet Explorer if it has been
// running for longer than RESTART_BROWSER_INTERVAL. The tests have
// had flaky timeouts, and this may help.
- if ((browserName == 'ie10' ||
- browserName == 'ie11') &&
+ if ((browserName == 'ie10' || browserName == 'ie11') &&
status.timeSinceRestart.elapsed > RESTART_BROWSER_INTERVAL) {
var id = status.browser.id;
// Reset stopwatch so we don't trigger again before restarting.
@@ -1178,20 +1189,22 @@ class BrowserTestRunner {
/// Creates a timer that is active while a test is running on a browser.
Timer createTimeoutTimer(BrowserTest test, BrowserStatus status) {
- return new Timer(new Duration(seconds: test.timeout),
- () { handleTimeout(status); });
+ return new Timer(new Duration(seconds: test.timeout), () {
+ handleTimeout(status);
+ });
}
/// Creates a timer that is active while no test is running on the
/// browser. It has finished one test, and it has not requested a new test.
Timer createNextTestTimer(BrowserStatus status) {
- return new Timer(BrowserTestRunner.NEXT_TEST_TIMEOUT,
- () { handleNextTestTimeout(status); });
+ return new Timer(BrowserTestRunner.NEXT_TEST_TIMEOUT, () {
+ handleNextTestTimeout(status);
+ });
}
void handleNextTestTimeout(status) {
- DebugLogger.warning(
- "Browser timed out before getting next test. Restarting");
+ DebugLogger
+ .warning("Browser timed out before getting next test. Restarting");
if (status.timeout) return;
numBrowserGetTestTimeouts++;
if (numBrowserGetTestTimeouts >= MAX_NEXT_TEST_TIMEOUTS) {
@@ -1255,6 +1268,7 @@ class BrowserTestRunner {
class BrowserTestingServer {
final Map configuration;
+
/// Interface of the testing server:
///
/// GET /driver/BROWSER_ID -- This will get the driver page to fetch
@@ -1291,9 +1305,10 @@ class BrowserTestingServer {
Future start() {
var test_driver_error_port = configuration['test_driver_error_port'];
- return HttpServer.bind(localIp, test_driver_error_port)
- .then(setupErrorServer)
- .then(setupDispatchingServer);
+ return HttpServer
+ .bind(localIp, test_driver_error_port)
+ .then(setupErrorServer)
+ .then(setupDispatchingServer);
}
void setupErrorServer(HttpServer server) {
@@ -1301,18 +1316,20 @@ class BrowserTestingServer {
void errorReportingHandler(HttpRequest request) {
StringBuffer buffer = new StringBuffer();
request.transform(UTF8.decoder).listen((data) {
- buffer.write(data);
- }, onDone: () {
- String back = buffer.toString();
- request.response.headers.set("Access-Control-Allow-Origin", "*");
- request.response.done.catchError((error) {
- DebugLogger.error("Error getting error from browser"
- "on uri ${request.uri.path}: $error");
- });
- request.response.close();
- DebugLogger.error("Error from browser on : "
- "${request.uri.path}, data: $back");
- }, onError: (error) { print(error); });
+ buffer.write(data);
+ }, onDone: () {
+ String back = buffer.toString();
+ request.response.headers.set("Access-Control-Allow-Origin", "*");
+ request.response.done.catchError((error) {
+ DebugLogger.error("Error getting error from browser"
+ "on uri ${request.uri.path}: $error");
+ });
+ request.response.close();
+ DebugLogger.error("Error from browser on : "
+ "${request.uri.path}, data: $back");
+ }, onError: (error) {
+ print(error);
+ });
}
void errorHandler(e) {
if (!underTermination) print("Error occured in httpserver: $e");
@@ -1323,58 +1340,56 @@ class BrowserTestingServer {
void setupDispatchingServer(_) {
DispatchingServer server = configuration['_servers_'].server;
void noCache(request) {
- request.response.headers.set("Cache-Control",
- "no-cache, no-store, must-revalidate");
+ request.response.headers
+ .set("Cache-Control", "no-cache, no-store, must-revalidate");
}
- int testId(request) =>
- int.parse(request.uri.queryParameters["id"]);
+ int testId(request) => int.parse(request.uri.queryParameters["id"]);
String browserId(request, prefix) =>
request.uri.path.substring(prefix.length + 1);
-
server.addHandler(reportPath, (HttpRequest request) {
noCache(request);
- handleReport(request, browserId(request, reportPath),
- testId(request), isStatusUpdate: false);
+ handleReport(request, browserId(request, reportPath), testId(request),
+ isStatusUpdate: false);
});
server.addHandler(statusUpdatePath, (HttpRequest request) {
noCache(request);
- handleReport(request, browserId(request, statusUpdatePath),
- testId(request), isStatusUpdate: true);
+ handleReport(
+ request, browserId(request, statusUpdatePath), testId(request),
+ isStatusUpdate: true);
});
server.addHandler(startedPath, (HttpRequest request) {
noCache(request);
- handleStarted(request, browserId(request, startedPath),
- testId(request));
+ handleStarted(request, browserId(request, startedPath), testId(request));
});
makeSendPageHandler(String prefix) => (HttpRequest request) {
- noCache(request);
- var textResponse = "";
- if (prefix == driverPath) {
- textResponse = getDriverPage(browserId(request, prefix));
- request.response.headers.set('Content-Type', 'text/html');
- }
- if (prefix == nextTestPath) {
- textResponse = getNextTest(browserId(request, prefix));
- request.response.headers.set('Content-Type', 'text/plain');
- }
- request.response.write(textResponse);
- request.listen((_) {}, onDone: request.response.close);
- request.response.done.catchError((error) {
- if (!underTermination) {
- print("URI ${request.uri}");
- print("Textresponse $textResponse");
- throw "Error returning content to browser: $error";
- }
- });
- };
+ noCache(request);
+ var textResponse = "";
+ if (prefix == driverPath) {
+ textResponse = getDriverPage(browserId(request, prefix));
+ request.response.headers.set('Content-Type', 'text/html');
+ }
+ if (prefix == nextTestPath) {
+ textResponse = getNextTest(browserId(request, prefix));
+ request.response.headers.set('Content-Type', 'text/plain');
+ }
+ request.response.write(textResponse);
+ request.listen((_) {}, onDone: request.response.close);
+ request.response.done.catchError((error) {
+ if (!underTermination) {
+ print("URI ${request.uri}");
+ print("Textresponse $textResponse");
+ throw "Error returning content to browser: $error";
+ }
+ });
+ };
server.addHandler(driverPath, makeSendPageHandler(driverPath));
server.addHandler(nextTestPath, makeSendPageHandler(nextTestPath));
}
void handleReport(HttpRequest request, String browserId, var testId,
- {bool isStatusUpdate}) {
+ {bool isStatusUpdate}) {
StringBuffer buffer = new StringBuffer();
request.transform(UTF8.decoder).listen((data) {
buffer.write(data);
@@ -1387,7 +1402,9 @@ class BrowserTestingServer {
testDoneCallBack(browserId, back, testId);
}
// TODO(ricow): We should do something smart if we get an error here.
- }, onError: (error) { DebugLogger.error("$error"); });
+ }, onError: (error) {
+ DebugLogger.error("$error");
+ });
}
void handleStarted(HttpRequest request, String browserId, var testId) {
@@ -1401,7 +1418,9 @@ class BrowserTestingServer {
String back = buffer.toString();
request.response.close();
testStartedCallBack(browserId, back, testId);
- }, onError: (error) { DebugLogger.error("$error"); });
+ }, onError: (error) {
+ DebugLogger.error("$error");
+ });
}
String getNextTest(String browserId) {
@@ -1417,7 +1436,7 @@ class BrowserTestingServer {
String getDriverUrl(String browserId) {
if (errorReportingServer == null) {
print("Bad browser testing server, you are not started yet. Can't "
- "produce driver url");
+ "produce driver url");
exit(1);
// This should never happen - exit immediately;
}
@@ -1425,7 +1444,6 @@ class BrowserTestingServer {
return "http://$localIp:$port/driver/$browserId";
}
-
String getDriverPage(String browserId) {
var errorReportingUrl =
"http://$localIp:${errorReportingServer.port}/$browserId";
« no previous file with comments | « tools/testing/dart/android.dart ('k') | tools/testing/dart/browser_perf_testing/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698