| Index: tools/testing/dart/test_configurations.dart
|
| diff --git a/tools/testing/dart/test_configurations.dart b/tools/testing/dart/test_configurations.dart
|
| index bffb8629af7ac09004abb50b18df2ec74af6cab3..2c499e0df7703e763b3787c199e6e1b29c38e1ef 100644
|
| --- a/tools/testing/dart/test_configurations.dart
|
| +++ b/tools/testing/dart/test_configurations.dart
|
| @@ -58,23 +58,24 @@ final TEST_SUITE_DIRECTORIES = [
|
| // This file is created by gclient runhooks.
|
| final VS_TOOLCHAIN_FILE = new Path("build/win_toolchain.json");
|
|
|
| -Future testConfigurations(List<Map> configurations) async {
|
| +Future testConfigurations(List<Map<String, dynamic>> configurations) async {
|
| var startTime = new DateTime.now();
|
| // Extract global options from first configuration.
|
| var firstConf = configurations[0];
|
| var maxProcesses = firstConf['tasks'] as int;
|
| - var progressIndicator = firstConf['progress'];
|
| - BuildbotProgressIndicator.stepName = firstConf['step_name'];
|
| - var verbose = firstConf['verbose'];
|
| - var printTiming = firstConf['time'];
|
| - var listTests = firstConf['list'];
|
| + var progressIndicator = firstConf['progress'] as String;
|
| + BuildbotProgressIndicator.stepName = firstConf['step_name'] as String;
|
| + var verbose = firstConf['verbose'] as bool;
|
| + var printTiming = firstConf['time'] as bool;
|
| + var listTests = firstConf['list'] as bool;
|
|
|
| - var reportInJson = firstConf['report_in_json'];
|
| + var reportInJson = firstConf['report_in_json'] as bool;
|
|
|
| - var recordingPath = firstConf['record_to_file'];
|
| - var recordingOutputPath = firstConf['replay_from_file'];
|
| + var recordingPath = firstConf['record_to_file'] as String;
|
| + var recordingOutputPath = firstConf['replay_from_file'] as String;
|
|
|
| - Browser.resetBrowserConfiguration = firstConf['reset_browser_configuration'];
|
| + Browser.resetBrowserConfiguration =
|
| + firstConf['reset_browser_configuration'] as bool;
|
|
|
| if (recordingPath != null && recordingOutputPath != null) {
|
| print("Fatal: Can't have the '--record_to_file' and '--replay_from_file'"
|
| @@ -82,7 +83,7 @@ Future testConfigurations(List<Map> configurations) async {
|
| exit(1);
|
| }
|
|
|
| - if (!firstConf['append_logs']) {
|
| + if (!(firstConf['append_logs'] as bool)) {
|
| var files = [
|
| new File(TestUtils.flakyFileName),
|
| new File(TestUtils.testOutcomeFileName)
|
| @@ -95,8 +96,8 @@ Future testConfigurations(List<Map> configurations) async {
|
| }
|
|
|
| DebugLogger.init(
|
| - firstConf['write_debug_log'] ? TestUtils.debugLogFilePath : null,
|
| - append: firstConf['append_logs']);
|
| + firstConf['write_debug_log'] as bool ? TestUtils.debugLogFilePath : null,
|
| + append: firstConf['append_logs'] as bool);
|
|
|
| // Print the configurations being run by this execution of
|
| // test.dart. However, don't do it if the silent progress indicator
|
| @@ -109,15 +110,15 @@ Future testConfigurations(List<Map> configurations) async {
|
| List settings = ['compiler', 'runtime', 'mode', 'arch']
|
| .map((name) => conf[name])
|
| .toList();
|
| - if (conf['checked']) settings.add('checked');
|
| - if (conf['strong']) settings.add('strong');
|
| + if (conf['checked'] as bool) settings.add('checked');
|
| + if (conf['strong'] as bool) settings.add('strong');
|
| outputWords.add(settings.join('_'));
|
| }
|
| print(outputWords.join(' '));
|
| }
|
|
|
| var runningBrowserTests = configurations.any((config) {
|
| - return TestUtils.isBrowserRuntime(config['runtime']);
|
| + return TestUtils.isBrowserRuntime(config['runtime'] as String);
|
| });
|
|
|
| List<Future> serverFutures = [];
|
| @@ -131,8 +132,8 @@ Future testConfigurations(List<Map> configurations) async {
|
| exit(1);
|
| }
|
| for (var conf in configurations) {
|
| - Map<String, RegExp> selectors = conf['selectors'];
|
| - var useContentSecurityPolicy = conf['csp'];
|
| + var selectors = conf['selectors'] as Map<String, RegExp>;
|
| + var useContentSecurityPolicy = conf['csp'] as bool;
|
| if (!listTests && runningBrowserTests) {
|
| // Start global http servers that serve the entire dart repo.
|
| // The http server is available on window.location.port, and a second
|
| @@ -141,13 +142,13 @@ Future testConfigurations(List<Map> configurations) async {
|
| var servers = new TestingServers(
|
| TestUtils.buildDir(conf),
|
| useContentSecurityPolicy,
|
| - conf['runtime'],
|
| + conf['runtime'] as String,
|
| null,
|
| - conf['package_root'],
|
| - conf['packages']);
|
| - serverFutures.add(servers.startServers(conf['local_ip'],
|
| - port: conf['test_server_port'],
|
| - crossOriginPort: conf['test_server_cross_origin_port']));
|
| + conf['package_root'] as String,
|
| + conf['packages'] as String);
|
| + serverFutures.add(servers.startServers(conf['local_ip'] as String,
|
| + port: conf['test_server_port'] as int,
|
| + crossOriginPort: conf['test_server_cross_origin_port'] as int));
|
| conf['_servers_'] = servers;
|
| if (verbose) {
|
| serverFutures.last.then((_) {
|
| @@ -157,7 +158,7 @@ Future testConfigurations(List<Map> configurations) async {
|
| }
|
| }
|
|
|
| - if (conf['runtime'].startsWith('ie')) {
|
| + if ((conf['runtime'] as String).startsWith('ie')) {
|
| // NOTE: We've experienced random timeouts of tests on ie9/ie10. The
|
| // underlying issue has not been determined yet. Our current hypothesis
|
| // is that windows does not handle the IE processes independently.
|
| @@ -165,18 +166,18 @@ Future testConfigurations(List<Map> configurations) async {
|
| // issues with starting up a new browser just after killing the hanging
|
| // browser.
|
| maxBrowserProcesses = 1;
|
| - } else if (conf['runtime'].startsWith('safari')) {
|
| + } else if ((conf['runtime'] as String).startsWith('safari')) {
|
| // Safari does not allow us to run from a fresh profile, so we can only
|
| // use one browser. Additionally, you can not start two simulators
|
| // for mobile safari simultainiously.
|
| maxBrowserProcesses = 1;
|
| - } else if (conf['runtime'] == 'chrome' &&
|
| + } else if ((conf['runtime'] as String) == 'chrome' &&
|
| Platform.operatingSystem == 'macos') {
|
| // Chrome on mac results in random timeouts.
|
| // Issue: https://github.com/dart-lang/sdk/issues/23891
|
| // This change does not fix the problem.
|
| maxBrowserProcesses = math.max(1, maxBrowserProcesses ~/ 2);
|
| - } else if (conf['runtime'] != 'drt') {
|
| + } else if ((conf['runtime'] as String) != 'drt') {
|
| // Even on machines with more than 16 processors, don't open more
|
| // than 15 browser instances, to avoid overloading the machine.
|
| // This is especially important when running locally on powerful
|
| @@ -186,7 +187,7 @@ Future testConfigurations(List<Map> configurations) async {
|
|
|
| // If we specifically pass in a suite only run that.
|
| if (conf['suite_dir'] != null) {
|
| - var suite_path = new Path(conf['suite_dir']);
|
| + var suite_path = new Path(conf['suite_dir'] as String);
|
| testSuites.add(new PKGTestSuite(conf, suite_path));
|
| } else {
|
| for (final testSuiteDir in TEST_SUITE_DIRECTORIES) {
|
| @@ -206,7 +207,7 @@ Future testConfigurations(List<Map> configurations) async {
|
| // vm tests contain both cc tests (added here) and dart tests (added
|
| // in [TEST_SUITE_DIRECTORIES]).
|
| testSuites.add(new VMTestSuite(conf));
|
| - } else if (conf['analyzer']) {
|
| + } else if (conf['analyzer'] as bool) {
|
| if (key == 'analyze_library') {
|
| testSuites.add(new AnalyzeLibraryTestSuite(conf));
|
| }
|
| @@ -256,10 +257,10 @@ Future testConfigurations(List<Map> configurations) async {
|
| }
|
| eventListener.add(new SkippedCompilationsPrinter());
|
| }
|
| - if (firstConf['write_test_outcome_log']) {
|
| + if (firstConf['write_test_outcome_log'] as bool) {
|
| eventListener.add(new TestOutcomeLogWriter());
|
| }
|
| - if (firstConf['copy_coredumps']) {
|
| + if (firstConf['copy_coredumps'] as bool) {
|
| eventListener.add(new UnexpectedCrashLogger());
|
| }
|
|
|
| @@ -275,7 +276,7 @@ Future testConfigurations(List<Map> configurations) async {
|
| // If any of the configurations need to access android devices we'll first
|
| // make a pool of all available adb devices.
|
| AdbDevicePool adbDevicePool;
|
| - bool needsAdbDevicePool = configurations.any((Map conf) {
|
| + var needsAdbDevicePool = configurations.any((Map conf) {
|
| return conf['runtime'] == 'dart_precompiled' && conf['system'] == 'android';
|
| });
|
| if (needsAdbDevicePool) {
|
|
|