Split expression compiler worker tests
Expression compiler worker tests sometimes reach the timeout limit
on CI machines, split them into two batches.
Closes: https://github.com/dart-lang/sdk/issues/45484
Change-Id: I502de5d768f29be862e593379e3a906ec6c21eb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213734
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Anna Gringauze <annagrin@google.com>
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_amd_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_amd_test.dart
new file mode 100644
index 0000000..aa00557
--- /dev/null
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_amd_test.dart
@@ -0,0 +1,19 @@
+// Copyright (c) 2021, 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 'package:test/test.dart';
+
+import 'expression_compiler_worker_shared.dart';
+
+void main() async {
+ group('amd module format -', () {
+ for (var soundNullSafety in [true, false]) {
+ group('${soundNullSafety ? "sound" : "unsound"} null safety -', () {
+ runTests('amd', soundNullSafety);
+ });
+ }
+ });
+}
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_ddc_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_ddc_test.dart
new file mode 100644
index 0000000..cc272c3
--- /dev/null
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_ddc_test.dart
@@ -0,0 +1,19 @@
+// Copyright (c) 2021, 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 'package:test/test.dart';
+
+import 'expression_compiler_worker_shared.dart';
+
+void main() async {
+ group('ddc module format -', () {
+ for (var soundNullSafety in [true, false]) {
+ group('${soundNullSafety ? "sound" : "unsound"} null safety -', () {
+ runTests('ddc', soundNullSafety);
+ });
+ }
+ });
+}
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
similarity index 91%
rename from pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart
rename to pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
index 8bf3653..b1a4eac 100644
--- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
@@ -27,78 +27,68 @@
/// Verbose mode for debugging
bool get verbose => false;
-void main() async {
- for (var moduleFormat in ['amd', 'ddc']) {
- group('$moduleFormat module format -', () {
- for (var soundNullSafety in [true, false]) {
- group('${soundNullSafety ? "sound" : "unsound"} null safety -', () {
- group('expression compiler worker on startup', () {
- Directory tempDir;
- ReceivePort receivePort;
+void runTests(String moduleFormat, bool soundNullSafety) {
+ group('expression compiler worker on startup', () {
+ Directory tempDir;
+ ReceivePort receivePort;
- setUp(() async {
- tempDir = Directory.systemTemp.createTempSync('foo bar');
- receivePort = ReceivePort();
- });
+ setUp(() async {
+ tempDir = Directory.systemTemp.createTempSync('foo bar');
+ receivePort = ReceivePort();
+ });
- tearDown(() async {
- tempDir.deleteSync(recursive: true);
- receivePort.close();
- });
+ tearDown(() async {
+ tempDir.deleteSync(recursive: true);
+ receivePort.close();
+ });
- test('reports failure to consumer', () async {
- expect(
- receivePort,
- emitsInOrder([
- equals(isA<SendPort>()),
- equals({
- 'succeeded': false,
- 'stackTrace': isNotNull,
- 'exception': contains('Could not load SDK component'),
- }),
- ]));
+ test('reports failure to consumer', () async {
+ expect(
+ receivePort,
+ emitsInOrder([
+ equals(isA<SendPort>()),
+ equals({
+ 'succeeded': false,
+ 'stackTrace': isNotNull,
+ 'exception': contains('Could not load SDK component'),
+ }),
+ ]));
- try {
- var badPath = 'file:///path/does/not/exist';
- await ExpressionCompilerWorker.createAndStart(
- [
- '--libraries-file',
- badPath,
- '--dart-sdk-summary',
- badPath,
- '--module-format',
- moduleFormat,
- soundNullSafety
- ? '--sound-null-safety'
- : '--no-sound-null-safety',
- if (verbose) '--verbose',
- ],
- sendPort: receivePort.sendPort,
- );
- } catch (e) {
- throwsA(contains('Could not load SDK component'));
- }
- });
- });
-
- group('reading assets using standard file system - ', () {
- runExpressionCompilationTests(
- StandardFileSystemTestDriver(soundNullSafety, moduleFormat));
- });
-
- group('reading assets using multiroot file system - ', () {
- runExpressionCompilationTests(
- MultiRootFileSystemTestDriver(soundNullSafety, moduleFormat));
- });
-
- group('reading assets using asset file system -', () {
- runExpressionCompilationTests(
- AssetFileSystemTestDriver(soundNullSafety, moduleFormat));
- });
- });
+ try {
+ var badPath = 'file:///path/does/not/exist';
+ await ExpressionCompilerWorker.createAndStart(
+ [
+ '--libraries-file',
+ badPath,
+ '--dart-sdk-summary',
+ badPath,
+ '--module-format',
+ moduleFormat,
+ soundNullSafety ? '--sound-null-safety' : '--no-sound-null-safety',
+ if (verbose) '--verbose',
+ ],
+ sendPort: receivePort.sendPort,
+ );
+ } catch (e) {
+ throwsA(contains('Could not load SDK component'));
}
});
- }
+ });
+
+ group('reading assets using standard file system - ', () {
+ runExpressionCompilationTests(
+ StandardFileSystemTestDriver(soundNullSafety, moduleFormat));
+ });
+
+ group('reading assets using multiroot file system - ', () {
+ runExpressionCompilationTests(
+ MultiRootFileSystemTestDriver(soundNullSafety, moduleFormat));
+ });
+
+ group('reading assets using asset file system -', () {
+ runExpressionCompilationTests(
+ AssetFileSystemTestDriver(soundNullSafety, moduleFormat));
+ });
}
void runExpressionCompilationTests(TestDriver driver) {