mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 14:49:43 +00:00
[dartdev] add --enable-experiment support to 'dart test'
Bug: https://github.com/dart-lang/sdk/issues/42339 Change-Id: Ic50493b1e9af5ae626358bee1c0c145f58bb7c2c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153323 Auto-Submit: Devon Carew <devoncarew@google.com> Commit-Queue: Jaime Wren <jwren@google.com> Reviewed-by: Jaime Wren <jwren@google.com>
This commit is contained in:
parent
34ad5a5908
commit
68bcf1b28a
|
@ -8,6 +8,7 @@ import 'dart:io';
|
|||
import 'package:args/args.dart';
|
||||
|
||||
import '../core.dart';
|
||||
import '../experiments.dart';
|
||||
import '../sdk.dart';
|
||||
|
||||
class TestCommand extends DartdevCommand<int> {
|
||||
|
@ -42,9 +43,15 @@ class TestCommand extends DartdevCommand<int> {
|
|||
@override
|
||||
FutureOr<int> run() async {
|
||||
final command = sdk.pub;
|
||||
final args = argResults.arguments.toList();
|
||||
final testArgs = argResults.arguments.toList();
|
||||
|
||||
args.insertAll(0, ['run', 'test']);
|
||||
final args = [
|
||||
'run',
|
||||
if (wereExperimentsSpecified)
|
||||
'--$experimentFlagName=${specifiedExperiments.join(',')}',
|
||||
'test',
|
||||
...testArgs,
|
||||
];
|
||||
|
||||
log.trace('$command ${args.join(' ')}');
|
||||
|
||||
|
|
|
@ -65,4 +65,26 @@ void main() {
|
|||
expect(result.stdout, contains('All tests passed!'));
|
||||
expect(result.stderr, isEmpty);
|
||||
}, skip: 'https://github.com/dart-lang/sdk/issues/40854');
|
||||
|
||||
test('--enable-experiment', () {
|
||||
p = project(mainSrc: 'int get foo => 1;\n');
|
||||
p.file('test/foo_test.dart', '''
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
test('', () {
|
||||
int a;
|
||||
a = null;
|
||||
print('a is \$a.');
|
||||
});
|
||||
}
|
||||
''');
|
||||
|
||||
var result = p.runSync('pub', ['get', '--offline']);
|
||||
expect(result.exitCode, 0);
|
||||
|
||||
result = p.runSync('--enable-experiment=non-nullable',
|
||||
['test', '--no-color', '--reporter', 'expanded']);
|
||||
expect(result.exitCode, 1);
|
||||
}, skip: 'https://github.com/dart-lang/sdk/issues/40854');
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue