4e1c79d86b
Change-Id: I8e92b95ae29f8cec16f69f59cc52c203bba5ea6f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186140 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
69 lines
1.9 KiB
Dart
69 lines
1.9 KiB
Dart
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
|
|
// 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.
|
|
|
|
// @dart=2.9
|
|
|
|
import 'fasta.dart' as fasta;
|
|
|
|
const List<String> standardSuites = <String>[
|
|
'weak',
|
|
'outline',
|
|
'strong',
|
|
'text_serialization',
|
|
'textual_outline',
|
|
];
|
|
|
|
const List<String> specialSuites = <String>[
|
|
'expression',
|
|
'incremental',
|
|
];
|
|
|
|
Future<void> runStandardSuites([List<String> args]) async {
|
|
// Assert that 'strong' is the first suite - we use the assumption below.
|
|
assert(standardSuites.first == 'weak', "Suite 'weak' most be the first.");
|
|
bool first = true;
|
|
for (String suite in standardSuites) {
|
|
List<String> tests = args == null
|
|
? [suite]
|
|
: args.map((String arg) => '${suite}/$arg').toList();
|
|
await fasta.main([
|
|
'testing',
|
|
...tests,
|
|
// Only update comments in the first suite. Note that this only works
|
|
// if the first compilation is a full compilation, i.e. not outline,
|
|
// because comments are generated during body building and inference.
|
|
if (first) '-DupdateComments=true',
|
|
'-DupdateExpectations=true'
|
|
]);
|
|
first = false;
|
|
}
|
|
}
|
|
|
|
main(List<String> args) async {
|
|
if (args.isEmpty) {
|
|
await runStandardSuites();
|
|
for (String suite in specialSuites) {
|
|
await fasta.main(['testing', suite, '-DupdateExpectations=true']);
|
|
}
|
|
} else {
|
|
List<String> standardTests = <String>[];
|
|
for (String arg in args) {
|
|
bool isSpecial = false;
|
|
for (String suite in specialSuites) {
|
|
if (arg.startsWith('$suite/')) {
|
|
await fasta.main(['testing', arg, '-DupdateExpectations=true']);
|
|
isSpecial = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!isSpecial) {
|
|
standardTests.add(arg);
|
|
}
|
|
}
|
|
if (standardTests.isNotEmpty) {
|
|
await runStandardSuites(args);
|
|
}
|
|
}
|
|
}
|