Index: tools/testing/dart/test_progress.dart |
diff --git a/tools/testing/dart/test_progress.dart b/tools/testing/dart/test_progress.dart |
index 74724d2e0cceaf025dd5aa697297e1e390917d89..133173ba8e17352ebd21f1ee70a38be663d858a0 100644 |
--- a/tools/testing/dart/test_progress.dart |
+++ b/tools/testing/dart/test_progress.dart |
@@ -2,18 +2,16 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-library test_progress; |
+import 'dart:convert' show JSON; |
+import 'dart:io'; |
-import "dart:convert" show JSON; |
-import "dart:io"; |
- |
-import "expectation.dart"; |
-import "http_server.dart"; |
-import "path.dart"; |
-import "summary_report.dart"; |
-import "test_runner.dart"; |
-import "test_suite.dart"; |
-import "utils.dart"; |
+import 'configuration.dart'; |
+import 'expectation.dart'; |
+import 'path.dart'; |
+import 'summary_report.dart'; |
+import 'test_runner.dart'; |
+import 'test_suite.dart'; |
+import 'utils.dart'; |
/// Controls how message strings are processed before being displayed. |
class Formatter { |
@@ -136,31 +134,26 @@ class TestOutcomeLogWriter extends EventListener { |
* } |
* }, |
*/ |
- |
- static final INTERESTED_CONFIGURATION_PARAMETERS = [ |
- 'mode', |
- 'arch', |
- 'compiler', |
- 'runtime', |
- 'checked', |
- 'strong', |
- 'host_checked', |
- 'minified', |
- 'csp', |
- 'system', |
- 'vm_options', |
- 'use_sdk', |
- 'builder_tag' |
- ]; |
- |
IOSink _sink; |
void done(TestCase test) { |
var name = test.displayName; |
- var configuration = {}; |
- for (var key in INTERESTED_CONFIGURATION_PARAMETERS) { |
- configuration[key] = test.configuration[key]; |
- } |
+ var configuration = { |
+ 'mode': test.configuration.mode.name, |
+ 'arch': test.configuration.architecture.name, |
+ 'compiler': test.configuration.compiler.name, |
+ 'runtime': test.configuration.runtime.name, |
+ 'checked': test.configuration.isChecked, |
+ 'strong': test.configuration.isStrong, |
+ 'host_checked': test.configuration.isHostChecked, |
+ 'minified': test.configuration.isMinified, |
+ 'csp': test.configuration.isCsp, |
+ 'system': test.configuration.system.name, |
+ 'vm_options': test.configuration.vmOptions, |
+ 'use_sdk': test.configuration.useSdk, |
+ 'builder_tag': test.configuration.builderTag |
+ }; |
+ |
var outcome = '${test.lastCommandOutput.result(test)}'; |
var expectations = |
test.expectedOutcomes.map((expectation) => "$expectation").toList(); |
@@ -225,8 +218,8 @@ class UnexpectedCrashLogger extends EventListener { |
var binFile = new File(binName); |
var binBaseName = new Path(binName).filename; |
if (!archivedBinaries.containsKey(binName) && binFile.existsSync()) { |
- var mode = test.configuration['mode'] as String; |
- var arch = test.configuration['arch'] as String; |
+ var mode = test.configuration.mode.name; |
+ var arch = test.configuration.architecture.name; |
var archived = "binary.${mode}_${arch}_${binBaseName}"; |
TestUtils.copyFile(new Path(binName), new Path(archived)); |
archivedBinaries[binName] = archived; |
@@ -441,22 +434,22 @@ class TestFailurePrinter extends EventListener { |
class ProgressIndicator extends EventListener { |
ProgressIndicator(this._startTime); |
- static EventListener fromName( |
- String name, DateTime startTime, Formatter formatter) { |
- switch (name) { |
- case 'compact': |
+ static EventListener fromProgress( |
+ Progress progress, DateTime startTime, Formatter formatter) { |
+ switch (progress) { |
+ case Progress.compact: |
return new CompactProgressIndicator(startTime, formatter); |
- case 'line': |
+ case Progress.line: |
return new LineProgressIndicator(); |
- case 'verbose': |
+ case Progress.verbose: |
return new VerboseProgressIndicator(startTime); |
- case 'status': |
+ case Progress.status: |
return new ProgressIndicator(startTime); |
- case 'buildbot': |
+ case Progress.buildbot: |
return new BuildbotProgressIndicator(startTime); |
- default: |
- throw new ArgumentError('Unknown progress indicator "$name".'); |
} |
+ |
+ throw "unreachable"; |
} |
void testAdded() { |
@@ -612,7 +605,7 @@ List<String> _buildFailureOutput(TestCase test, |
if (test.hasRuntimeError) { |
output.add('Runtime error expected.'); |
} |
- if ((test.configuration['checked'] as bool) && test.isNegativeIfChecked) { |
+ if (test.configuration.isChecked && test.isNegativeIfChecked) { |
output.add('Dynamic type error expected.'); |
} |
} |
@@ -645,8 +638,7 @@ List<String> _buildFailureOutput(TestCase test, |
if (test is BrowserTestCase) { |
// Additional command for rerunning the steps locally after the fact. |
- var command = (test.configuration["_servers_"] as TestingServers) |
- .httpServerCommandLine(); |
+ var command = test.configuration.servers.httpServerCommandLine(); |
output.add(''); |
output.add('To retest, run: $command'); |
} |
@@ -664,8 +656,7 @@ List<String> _buildFailureOutput(TestCase test, |
} |
var arguments = ['python', 'tools/test.py']; |
- arguments |
- .addAll(test.configuration['_reproducing_arguments_'] as List<String>); |
+ arguments.addAll(test.configuration.reproducingArguments); |
arguments.add(test.displayName); |
var testPyCommandline = arguments.map(escapeCommandLineArgument).join(' '); |