| Index: test/codegen_test.dart
|
| diff --git a/test/codegen_test.dart b/test/codegen_test.dart
|
| index fee7a7f56b802f8cb78fccc44a00940a3a75e845..973bd27e1954de021c41db70b845d4d8f470a380 100644
|
| --- a/test/codegen_test.dart
|
| +++ b/test/codegen_test.dart
|
| @@ -66,10 +66,12 @@ final packageUrlMappings = {
|
|
|
| final codeCoverage = Platform.environment.containsKey('COVERALLS_TOKEN');
|
|
|
| +RegExp filePattern;
|
| +
|
| main(List<String> arguments) {
|
| if (arguments == null) arguments = [];
|
| ArgResults args = argParser.parse(arguments);
|
| - var filePattern = new RegExp(args.rest.length > 0 ? args.rest[0] : '.');
|
| + filePattern = new RegExp(args.rest.length > 0 ? args.rest[0] : '.');
|
|
|
| var sdkDir = path.join(repoDirectory, 'gen', 'patched_sdk');
|
| var sdkSummaryFile =
|
| @@ -93,7 +95,7 @@ main(List<String> arguments) {
|
|
|
| // Copy all of the test files and expanded multitest files to
|
| // gen/codegen_tests. We'll compile from there.
|
| - var testFiles = _setUpTests(testDirs, filePattern);
|
| + var testFiles = _setUpTests(testDirs);
|
|
|
| // Our default compiler options. Individual tests can override these.
|
| var defaultOptions = ['--no-source-map', '--no-summarize'];
|
| @@ -211,11 +213,14 @@ void _buildAllPackages(ModuleCompiler compiler) {
|
|
|
| var packages = ['matcher', 'path', 'stack_trace'];
|
| for (var package in packages) {
|
| + if (!filePattern.hasMatch(package)) continue;
|
| test(package, () {
|
| _buildPackage(compiler, codegenOutputDir, codegenExpectDir, package);
|
| });
|
| }
|
|
|
| + if (!filePattern.hasMatch('unittest')) return;
|
| +
|
| test('unittest', () {
|
| // Only build files applicable to the web - html_*.dart and its
|
| // internal dependences.
|
| @@ -229,6 +234,8 @@ void _buildAllPackages(ModuleCompiler compiler) {
|
| });
|
| });
|
|
|
| + if (!filePattern.hasMatch('sunflower')) return;
|
| +
|
| test('dartdevc sunflower', () {
|
| _buildSunflower(compiler, codegenOutputDir, codegenExpectDir);
|
| });
|
| @@ -256,6 +263,8 @@ void _buildPackages(
|
| var options = new CompilerOptions(sourceMap: false, summarizeApi: false);
|
|
|
| for (var uri in packageUrlMappings.keys) {
|
| + if (!filePattern.hasMatch(uri)) return;
|
| +
|
| assert(uri.startsWith('package:'));
|
| var uriPath = uri.substring('package:'.length);
|
| var name = path.basenameWithoutExtension(uriPath);
|
| @@ -313,12 +322,12 @@ String _moduleForLibrary(Source source) {
|
| throw new Exception('Module not found for library "${source.fullName}"');
|
| }
|
|
|
| -List<String> _setUpTests(List<String> testDirs, RegExp filePattern) {
|
| +List<String> _setUpTests(List<String> testDirs) {
|
| var testFiles = <String>[];
|
|
|
| for (var testDir in testDirs) {
|
| - for (var file in _listFiles(path.join(codegenDir, testDir), filePattern,
|
| - recursive: true)) {
|
| + for (var file
|
| + in _listFiles(path.join(codegenDir, testDir), recursive: true)) {
|
| var relativePath = path.relative(file, from: codegenDir);
|
| var outputPath = path.join(codegenTestDir, relativePath);
|
|
|
| @@ -355,7 +364,7 @@ List<String> _setUpTests(List<String> testDirs, RegExp filePattern) {
|
| }
|
|
|
| // Also include the other special files that live at the top level directory.
|
| - for (var file in _listFiles(codegenDir, filePattern)) {
|
| + for (var file in _listFiles(codegenDir)) {
|
| var relativePath = path.relative(file, from: codegenDir);
|
| var outputPath = path.join(codegenTestDir, relativePath);
|
|
|
| @@ -374,8 +383,7 @@ void _ensureDirectory(String dir) {
|
| }
|
|
|
| /// Lists all of the files within [dir] that match [filePattern].
|
| -Iterable<String> _listFiles(String dir, RegExp filePattern,
|
| - {bool recursive: false}) {
|
| +Iterable<String> _listFiles(String dir, {bool recursive: false}) {
|
| return new Directory(dir)
|
| .listSync(recursive: recursive, followLinks: false)
|
| .where((entry) {
|
|
|