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

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

Issue 2903703002: Tighten types in test.dart even more. (Closed)
Patch Set: Play nicer with strong mode. Created 3 years, 7 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/test_progress.dart ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testing/dart/test_runner.dart
diff --git a/tools/testing/dart/test_runner.dart b/tools/testing/dart/test_runner.dart
index ac96f01d3faafa463f7840ce0f619aa40f736e0b..6b837f899d8e454028fdaadec7f336ec4bece2a5 100644
--- a/tools/testing/dart/test_runner.dart
+++ b/tools/testing/dart/test_runner.dart
@@ -41,6 +41,7 @@ typedef void TestCaseEvent(TestCase testCase);
typedef void ExitCodeEvent(int exitCode);
typedef void EnqueueMoreWork(ProcessQueue queue);
typedef void Action();
+typedef Future<AdbCommandResult> StepFunction();
// Some IO tests use these variables and get confused if the host environment
// variables are inherited so they are excluded.
@@ -266,7 +267,7 @@ class ContentShellCommand extends ProcessCommand {
// Cache the modified environments in a map from the old environment and
// the string of Dart flags to the new environment. Avoid creating new
// environment object for each command object.
- static Map<AddFlagsKey, Map> environments = {};
+ static Map<AddFlagsKey, Map<String, String>> environments = {};
static Map<String, String> _getEnvironment(
Map<String, String> env, List<String> dartFlags) {
@@ -278,7 +279,7 @@ class ContentShellCommand extends ProcessCommand {
var flags = dartFlags.join(' ');
return environments.putIfAbsent(
new AddFlagsKey(flags, env),
- () => new Map.from(env)
+ () => new Map<String, String>.from(env)
..addAll({'DART_FLAGS': flags, 'DART_FORWARDING_PRINT': '1'}));
}
return env;
@@ -296,7 +297,7 @@ class ContentShellCommand extends ProcessCommand {
class BrowserTestCommand extends Command {
final String browser;
final String url;
- final Map configuration;
+ final Map<String, dynamic> configuration;
final bool retry;
BrowserTestCommand._(
@@ -334,8 +335,8 @@ class BrowserTestCommand extends Command {
class BrowserHtmlTestCommand extends BrowserTestCommand {
List<String> expectedMessages;
- BrowserHtmlTestCommand._(String browser, String url, Map configuration,
- this.expectedMessages, bool retry)
+ BrowserHtmlTestCommand._(String browser, String url,
+ Map<String, dynamic> configuration, this.expectedMessages, bool retry)
: super._(browser, url, configuration, retry);
void _buildHashCode(HashCodeBuilder builder) {
@@ -582,14 +583,18 @@ class CommandBuilder {
return _getUniqueCommand(command);
}
- BrowserTestCommand getBrowserTestCommand(
- String browser, String url, Map configuration, bool retry) {
+ BrowserTestCommand getBrowserTestCommand(String browser, String url,
+ Map<String, dynamic> configuration, bool retry) {
var command = new BrowserTestCommand._(browser, url, configuration, retry);
return _getUniqueCommand(command);
}
- BrowserHtmlTestCommand getBrowserHtmlTestCommand(String browser, String url,
- Map configuration, List<String> expectedMessages, bool retry) {
+ BrowserHtmlTestCommand getBrowserHtmlTestCommand(
+ String browser,
+ String url,
+ Map<String, dynamic> configuration,
+ List<String> expectedMessages,
+ bool retry) {
var command = new BrowserHtmlTestCommand._(
browser, url, configuration, expectedMessages, retry);
return _getUniqueCommand(command);
@@ -785,7 +790,7 @@ class TestCase extends UniqueObject {
_expectations |= HAS_COMPILE_ERROR_IF_CHECKED;
}
if (info.hasCompileError ||
- (configuration['checked'] && info.hasCompileErrorIfChecked)) {
+ ((configuration['checked'] as bool) && info.hasCompileErrorIfChecked)) {
_expectations |= EXPECT_COMPILE_ERROR;
}
}
@@ -828,18 +833,18 @@ class TestCase extends UniqueObject {
int get timeout {
if (expectedOutcomes.contains(Expectation.slow)) {
- return configuration['timeout'] * SLOW_TIMEOUT_MULTIPLIER;
+ return (configuration['timeout'] as int) * SLOW_TIMEOUT_MULTIPLIER;
} else {
- return configuration['timeout'];
+ return configuration['timeout'] as int;
}
}
String get configurationString {
- final compiler = configuration['compiler'];
- final runtime = configuration['runtime'];
- final mode = configuration['mode'];
- final arch = configuration['arch'];
- final checked = configuration['checked'] ? '-checked' : '';
+ var compiler = configuration['compiler'] as String;
+ var runtime = configuration['runtime'] as String;
+ var mode = configuration['mode'] as String;
+ var arch = configuration['arch'] as String;
+ var checked = configuration['checked'] as bool ? '-checked' : '';
return "$compiler-$runtime$checked ${mode}_$arch";
}
@@ -876,7 +881,7 @@ class BrowserTestCase extends TestCase {
BrowserTestCase(
String displayName,
List<Command> commands,
- configuration,
+ Map<String, dynamic> configuration,
Set<Expectation> expectedOutcomes,
TestInformation info,
bool isNegative,
@@ -1240,7 +1245,7 @@ class BrowserTestJsonResult {
final Expectation outcome;
final String htmlDom;
- final List events;
+ final List<dynamic> events;
BrowserTestJsonResult(this.outcome, this.htmlDom, this.events);
@@ -1257,14 +1262,14 @@ class BrowserTestJsonResult {
if (events != null) {
validate("Message must be a List", events is List);
- Map<String, List<String>> messagesByType = {};
+ var messagesByType = <String, List<String>>{};
ALLOWED_TYPES.forEach((type) => messagesByType[type] = <String>[]);
for (var entry in events) {
validate("An entry must be a Map", entry is Map);
var type = entry['type'];
- var value = entry['value'];
+ var value = entry['value'] as String;
var timestamp = entry['timestamp'];
validate("'type' of an entry must be a String", type is String);
@@ -1284,7 +1289,7 @@ class BrowserTestJsonResult {
}
return new BrowserTestJsonResult(
- _getOutcome(messagesByType), dom, events);
+ _getOutcome(messagesByType), dom, events as List<dynamic>);
}
} catch (error) {
// If something goes wrong, we know the content was not in the correct
@@ -1883,7 +1888,7 @@ Future<List<int>> _getPidList(int pid, List<String> diagnostics) async {
if (io.Platform.isLinux || io.Platform.isMacOS) {
var result =
await io.Process.run("pgrep", ["-P", "${pids[0]}"], runInShell: true);
- lines = result.stdout.split('\n');
+ lines = (result.stdout as String).split('\n');
} else if (io.Platform.isWindows) {
var result = await io.Process.run(
"wmic",
@@ -1895,7 +1900,7 @@ Future<List<int>> _getPidList(int pid, List<String> diagnostics) async {
"ProcessId"
],
runInShell: true);
- lines = result.stdout.split('\n');
+ lines = (result.stdout as String).split('\n');
// Skip first line containing header "ProcessId".
startLine = 1;
} else {
@@ -2011,13 +2016,13 @@ class RunningProcess {
// sample the threads once.
executable = '/usr/bin/sample';
} else if (io.Platform.isWindows) {
- bool is_x64 = command.executable.contains("X64") ||
+ var isX64 = command.executable.contains("X64") ||
command.executable.contains("SIMARM64");
- var winSdkPath = configuration['win_sdk_path'];
+ var winSdkPath = configuration['win_sdk_path'] as String;
if (winSdkPath != null) {
executable = winSdkPath +
"\\Debuggers\\" +
- (is_x64 ? "x64" : "x86") +
+ (isX64 ? "x64" : "x86") +
"\\cdb.exe";
diagnostics.add("Using $executable to print stack traces");
} else {
@@ -2044,8 +2049,8 @@ class RunningProcess {
diagnostics.add("Trying to capture stack trace for pid $pid");
try {
var result = await io.Process.run(executable, arguments);
- diagnostics.addAll(result.stdout.split('\n'));
- diagnostics.addAll(result.stderr.split('\n'));
+ diagnostics.addAll((result.stdout as String).split('\n'));
+ diagnostics.addAll((result.stderr as String).split('\n'));
} catch (error) {
diagnostics.add("Unable to capture stack traces: $error");
}
@@ -2131,7 +2136,7 @@ class RunningProcess {
}
Map<String, String> _createProcessEnvironment() {
- var environment = new Map.from(io.Platform.environment);
+ var environment = new Map<String, String>.from(io.Platform.environment);
if (command.environmentOverrides != null) {
for (var key in command.environmentOverrides.keys) {
@@ -2208,7 +2213,7 @@ class BatchRunnerProcess {
Future<bool> terminate() {
if (_process == null) return new Future.value(true);
- Completer terminateCompleter = new Completer<bool>();
+ var terminateCompleter = new Completer<bool>();
_processExitHandler = (_) {
terminateCompleter.complete(true);
};
@@ -2289,7 +2294,7 @@ class BatchRunnerProcess {
var executable = _command.executable;
var arguments = _command.batchArguments.toList();
arguments.add('--batch');
- var environment = new Map.from(io.Platform.environment);
+ var environment = new Map<String, String>.from(io.Platform.environment);
if (_processEnvironmentOverrides != null) {
for (var key in _processEnvironmentOverrides.keys) {
environment[key] = _processEnvironmentOverrides[key];
@@ -2729,8 +2734,8 @@ class CommandExecutorImpl implements CommandExecutor {
}
Future<CommandOutput> _runCommand(Command command, int timeout) {
- var batchMode = !globalConfiguration['noBatch'];
- var dart2jsBatchMode = globalConfiguration['dart2js_batch'];
+ var batchMode = !(globalConfiguration['noBatch'] as bool);
+ var dart2jsBatchMode = globalConfiguration['dart2js_batch'] as bool;
if (command is BrowserTestCommand) {
return _startBrowserControllerTest(command, timeout);
@@ -2788,8 +2793,7 @@ class CommandExecutorImpl implements CommandExecutor {
var timeoutDuration = new Duration(seconds: timeout);
- // All closures are of type "Future<AdbCommandResult> run()"
- List<Function> steps = [];
+ var steps = <StepFunction>[];
steps.add(() => device.runAdbShellCommand(['rm', '-Rf', deviceTestDir]));
steps.add(() => device.runAdbShellCommand(['mkdir', '-p', deviceTestDir]));
@@ -2887,12 +2891,12 @@ class CommandExecutorImpl implements CommandExecutor {
}
Future<BrowserTestRunner> _getBrowserTestRunner(
- String browser, Map configuration) async {
- var localIp = globalConfiguration['local_ip'];
+ String browser, Map<String, dynamic> configuration) async {
+ var localIp = globalConfiguration['local_ip'] as String;
if (_browserTestRunners[configuration] == null) {
var testRunner = new BrowserTestRunner(
configuration, localIp, browser, maxBrowserProcesses);
- if (globalConfiguration['verbose']) {
+ if (globalConfiguration['verbose'] as bool) {
testRunner.logger = DebugLogger.info;
}
_browserTestRunners[configuration] = testRunner;
@@ -3222,7 +3226,7 @@ class ProcessQueue {
new CommandEnqueuer(_graph);
// CommandExecutor will execute commands
- var executor;
+ CommandExecutor executor;
if (recording) {
executor = new RecordingCommandExecutor(new Path(recordingOutputFile));
} else if (replaying) {
@@ -3266,7 +3270,7 @@ class ProcessQueue {
});
// Either list or run the tests
- if (_globalConfiguration['list']) {
+ if (_globalConfiguration['list'] as bool) {
setupForListing(testCaseEnqueuer);
} else {
setupForRunning(testCaseEnqueuer);
« no previous file with comments | « tools/testing/dart/test_progress.dart ('k') | tools/testing/dart/test_suite.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698