blob: d8f8d33fa80b385b250581ddf23f78247b251ac9 [file] [log] [blame]
// Copyright (c) 2023, 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.
@TestOn('vm')
library;
import 'dart:convert';
import 'package:test/test.dart';
import 'package:test_descriptor/test_descriptor.dart' as d;
import '../../io.dart';
void main() {
setUpAll(precompileTestExecutable);
group('compilers', () {
test('uses specified compilers for supporting platforms', () async {
await d
.file(
'dart_test.yaml',
jsonEncode({
'compilers': ['source']
}))
.create();
await d.file('test.dart', '''
import 'package:test/test.dart';
void main() {
test("test", () {});
}
''').create();
var test = await runTest(['-p', 'chrome,vm', 'test.dart']);
expect(
test.stdout,
containsInOrder([
'+0: [Chrome, Dart2Js]',
'+1: [VM, Source]',
'+2: All tests passed!',
]));
await test.shouldExit(0);
});
test('supports platform selectors with compilers', () async {
await d
.file(
'dart_test.yaml',
jsonEncode({
'compilers': ['vm:source', 'browser:kernel']
}))
.create();
await d.file('test.dart', '''
import 'package:test/test.dart';
void main() {
test("test", () {});
}
''').create();
var test = await runTest(['-p', 'chrome,vm', 'test.dart']);
expect(
test.stdout,
containsInOrder([
'+0: [Chrome, Dart2Js]',
'+1: [VM, Source]',
'+2: All tests passed!',
]));
await test.shouldExit(0);
});
});
}