1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-03 00:08:46 +00:00

[test_runner] Support multiple arguments in update_static_error_tests.dart

This improves usability of the tool when a multiple tests needs updating.

Change-Id: I034e3da7381ae79b2149429e5271904e0dfcae59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210862
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Johnni Winther 2021-08-24 08:02:38 +00:00 committed by commit-bot@chromium.org
parent 89ba203a8d
commit 184fd50728

View File

@ -112,32 +112,27 @@ Future<void> main(List<String> args) async {
parser, "Must provide at least one flag for an operation to perform.");
}
if (results.rest.length != 1) {
_usageError(
parser, "Must provide a file path or glob for which tests to update.");
}
for (var result in results.rest) {
// Allow tests to be specified without the extension for compatibility with
// the regular test runner syntax.
if (!result.endsWith(".dart")) {
result += ".dart";
}
var result = results.rest.single;
// Allow tests to be specified either relative to the "tests" directory
// or relative to the current directory.
var root = result.startsWith("tests") ? "." : "tests";
var glob = Glob(result, recursive: true);
for (var entry in glob.listSync(root: root)) {
if (!entry.path.endsWith(".dart")) continue;
// Allow tests to be specified without the extension for compatibility with
// the regular test runner syntax.
if (!result.endsWith(".dart")) {
result += ".dart";
}
// Allow tests to be specified either relative to the "tests" directory
// or relative to the current directory.
var root = result.startsWith("tests") ? "." : "tests";
var glob = Glob(result, recursive: true);
for (var entry in glob.listSync(root: root)) {
if (!entry.path.endsWith(".dart")) continue;
if (entry is pkg_file.File) {
await _processFile(entry,
dryRun: dryRun,
includeContext: includeContext,
remove: removeSources,
insert: insertSources);
if (entry is pkg_file.File) {
await _processFile(entry,
dryRun: dryRun,
includeContext: includeContext,
remove: removeSources,
insert: insertSources);
}
}
}
}