OLD | NEW |
---|---|
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * Classes and methods for enumerating and preparing tests. | 6 * Classes and methods for enumerating and preparing tests. |
7 * | 7 * |
8 * This library includes: | 8 * This library includes: |
9 * | 9 * |
10 * - Creating tests by listing all the Dart files in certain directories, | 10 * - Creating tests by listing all the Dart files in certain directories, |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
635 * instead of having to create a custom [StandardTestSuite] subclass. In | 635 * instead of having to create a custom [StandardTestSuite] subclass. In |
636 * particular, if you add 'path/to/mytestsuite' to [TEST_SUITE_DIRECTORIES] | 636 * particular, if you add 'path/to/mytestsuite' to [TEST_SUITE_DIRECTORIES] |
637 * in test.dart, this will all be set up for you. | 637 * in test.dart, this will all be set up for you. |
638 * | 638 * |
639 * The [StandardTestSuite] also optionally takes a list of servers that have | 639 * The [StandardTestSuite] also optionally takes a list of servers that have |
640 * been started up by the test harness, to be used by browser tests. | 640 * been started up by the test harness, to be used by browser tests. |
641 */ | 641 */ |
642 factory StandardTestSuite.forDirectory(Map configuration, Path directory) { | 642 factory StandardTestSuite.forDirectory(Map configuration, Path directory) { |
643 final name = directory.filename; | 643 final name = directory.filename; |
644 | 644 |
645 var status_paths = ['$directory/$name.status', | |
646 '$directory/.status', | |
ricow1
2014/09/01 13:00:48
added this by request, since the file should live
| |
647 '$directory/${name}_dart2js.status', | |
648 '$directory/${name}_analyzer.status', | |
649 '$directory/${name}_analyzer2.status']; | |
650 | |
645 return new StandardTestSuite(configuration, | 651 return new StandardTestSuite(configuration, |
646 name, directory, | 652 name, directory, |
647 ['$directory/$name.status', '$directory/${name}_dart2js.status', | 653 status_paths, |
648 '$directory/${name}_analyzer.status', '$directory/${name}_analyzer2.sta tus'], | |
649 isTestFilePredicate: (filename) => filename.endsWith('_test.dart'), | 654 isTestFilePredicate: (filename) => filename.endsWith('_test.dart'), |
650 recursive: true); | 655 recursive: true); |
651 } | 656 } |
652 | 657 |
653 List<Uri> get dart2JsBootstrapDependencies { | 658 List<Uri> get dart2JsBootstrapDependencies { |
654 if (!useSdk) return []; | 659 if (!useSdk) return []; |
655 | 660 |
656 var snapshotPath = TestUtils.absolutePath(new Path(buildDir).join( | 661 var snapshotPath = TestUtils.absolutePath(new Path(buildDir).join( |
657 new Path('dart-sdk/bin/snapshots/' | 662 new Path('dart-sdk/bin/snapshots/' |
658 'utils_wrapper.dart.snapshot'))).toString(); | 663 'utils_wrapper.dart.snapshot'))).toString(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
721 updater.onUpdated.add(() => completer.complete(null)); | 726 updater.onUpdated.add(() => completer.complete(null)); |
722 | 727 |
723 return completer.future; | 728 return completer.future; |
724 } | 729 } |
725 | 730 |
726 /** | 731 /** |
727 * Reads the status files and completes with the parsed expectations. | 732 * Reads the status files and completes with the parsed expectations. |
728 */ | 733 */ |
729 Future<TestExpectations> readExpectations() { | 734 Future<TestExpectations> readExpectations() { |
730 var statusFiles = statusFilePaths.where((String statusFilePath) { | 735 var statusFiles = statusFilePaths.where((String statusFilePath) { |
731 // [forDirectory] adds name_$compiler.status for all tests suites. | 736 var file = new File(dartDir.append(statusFilePath).toNativePath()); |
ricow1
2014/09/01 13:00:49
this basically says:
allow any of the files specif
| |
732 // Use it if it exists, but otherwise skip it and don't fail. | 737 return file.existsSync(); |
733 if (statusFilePath.endsWith('_dart2js.status') || | |
734 statusFilePath.endsWith('_analyzer.status') || | |
735 statusFilePath.endsWith('_analyzer2.status')) { | |
736 var file = new File(dartDir.append(statusFilePath).toNativePath()); | |
737 return file.existsSync(); | |
738 } | |
739 return true; | |
740 }).map((statusFilePath) { | 738 }).map((statusFilePath) { |
741 return dartDir.append(statusFilePath).toNativePath(); | 739 return dartDir.append(statusFilePath).toNativePath(); |
742 }).toList(); | 740 }).toList(); |
743 | 741 |
744 return ReadTestExpectations(statusFiles, configuration); | 742 return ReadTestExpectations(statusFiles, configuration); |
745 } | 743 } |
746 | 744 |
747 Future enqueueTests() { | 745 Future enqueueTests() { |
748 Directory dir = new Directory(suiteDir.toNativePath()); | 746 Directory dir = new Directory(suiteDir.toNativePath()); |
749 return dir.exists().then((exists) { | 747 return dir.exists().then((exists) { |
(...skipping 1538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2288 * $pass tests are expected to pass | 2286 * $pass tests are expected to pass |
2289 * $failOk tests are expected to fail that we won't fix | 2287 * $failOk tests are expected to fail that we won't fix |
2290 * $fail tests are expected to fail that we should fix | 2288 * $fail tests are expected to fail that we should fix |
2291 * $crash tests are expected to crash that we should fix | 2289 * $crash tests are expected to crash that we should fix |
2292 * $timeout tests are allowed to timeout | 2290 * $timeout tests are allowed to timeout |
2293 * $compileErrorSkip tests are skipped on browsers due to compile-time error | 2291 * $compileErrorSkip tests are skipped on browsers due to compile-time error |
2294 """; | 2292 """; |
2295 print(report); | 2293 print(report); |
2296 } | 2294 } |
2297 } | 2295 } |
OLD | NEW |