Index: tools/testing/dart/test_suite.dart |
diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart |
index 933eb437819df947c73cebcb31a8036a438baaa8..d2429d74176da8592ec5550fff64bc00b3acfefd 100644 |
--- a/tools/testing/dart/test_suite.dart |
+++ b/tools/testing/dart/test_suite.dart |
@@ -984,6 +984,52 @@ class DartcCompilationTestSuite extends StandardTestSuite { |
} |
+/** |
+ * A standard test suite whose file organization matches an expected structure. |
nweiz
2012/03/30 00:38:37
Woo!
Bob Nystrom
2012/03/30 01:06:17
I need to rebase, this is actually in another patc
|
+ * To use this, your suite should look like: |
+ * |
+ * dart/ |
+ * path/ |
+ * to/ |
+ * mytestsuite/ |
+ * mytestsuite.status |
+ * example1_tests.dart |
+ * example2_tests.dart |
+ * example3_tests.dart |
+ * |
+ * The important parts: |
+ * |
+ * * The leaf directory name is the name of your test suite. |
+ * * The status file uses the same name. |
+ * * Test files are directly in that directory and end in "_tests.dart". |
+ * |
+ * If you follow that convention, then you can construct one of these like: |
+ * |
+ * new DirectoryTestSuite(configuration, 'path/to/mytestsuite'); |
+ * |
+ * instead of having to create a custom [StandardTestSuite] subclass. In |
+ * particular, if you add 'path/to/mytestsuite' to [TEST_SUITE_DIRECTORIES] in |
+ * test.dart, this will all be set up for you. |
+ */ |
+class DirectoryTestSuite extends StandardTestSuite { |
+ factory DirectoryTestSuite(Map configuration, String directory) { |
+ final name = directory.substring(directory.lastIndexOf('/') + 1); |
+ print(name); |
+ |
+ return new DirectoryTestSuite._internal(configuration, |
+ name, directory, ['$directory/$name.status']); |
+ } |
+ |
+ DirectoryTestSuite._internal(Map configuration, |
+ String suiteName, |
+ String directoryPath, |
+ List<String> statusFilePaths) |
+ : super(configuration, suiteName, directoryPath, statusFilePaths); |
+ |
+ bool isTestFile(String filename) => filename.endsWith('_tests.dart'); |
+} |
+ |
+ |
class JUnitTestSuite implements TestSuite { |
Map configuration; |
String suiteName; |