| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 52   void forEachTest(Function onTest, Map testCache, String globalTempDir(), | 52   void forEachTest(Function onTest, Map testCache, String globalTempDir(), | 
| 53                    [Function onDone]); | 53                    [Function onDone]); | 
| 54 } | 54 } | 
| 55 | 55 | 
| 56 | 56 | 
| 57 class CCTestListerIsolate extends Isolate { | 57 class CCTestListerIsolate extends Isolate { | 
| 58   CCTestListerIsolate() : super.heavy(); | 58   CCTestListerIsolate() : super.heavy(); | 
| 59 | 59 | 
| 60   void main() { | 60   void main() { | 
| 61     port.receive((String runnerPath, SendPort replyTo) { | 61     port.receive((String runnerPath, SendPort replyTo) { | 
| 62       var p = new Process.start(runnerPath, ["--list"]); | 62       var p = Process.start(runnerPath, ["--list"]); | 
| 63       StringInputStream stdoutStream = new StringInputStream(p.stdout); | 63       StringInputStream stdoutStream = new StringInputStream(p.stdout); | 
| 64       List<String> tests = new List<String>(); | 64       List<String> tests = new List<String>(); | 
| 65       stdoutStream.onLine = () { | 65       stdoutStream.onLine = () { | 
| 66         String line = stdoutStream.readLine(); | 66         String line = stdoutStream.readLine(); | 
| 67         while (line != null) { | 67         while (line != null) { | 
| 68           tests.add(line); | 68           tests.add(line); | 
| 69           line = stdoutStream.readLine(); | 69           line = stdoutStream.readLine(); | 
| 70         } | 70         } | 
| 71       }; | 71       }; | 
| 72       p.onError = (error) { | 72       p.onError = (error) { | 
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 325       ReadTestExpectationsInto(testExpectations, | 325       ReadTestExpectationsInto(testExpectations, | 
| 326                                '$dartDir/$statusFilePath', | 326                                '$dartDir/$statusFilePath', | 
| 327                                configuration, | 327                                configuration, | 
| 328                                statusFileRead); | 328                                statusFileRead); | 
| 329     } | 329     } | 
| 330   } | 330   } | 
| 331 | 331 | 
| 332   void processDirectory() { | 332   void processDirectory() { | 
| 333     directoryPath = '$dartDir/$directoryPath'; | 333     directoryPath = '$dartDir/$directoryPath'; | 
| 334     Directory dir = new Directory(directoryPath); | 334     Directory dir = new Directory(directoryPath); | 
| 335     dir.onError = (s) { | 335     dir.exists().then((exists) { | 
| 336       throw s; |  | 
| 337     }; |  | 
| 338     dir.exists((bool exists) { |  | 
| 339       if (!exists) { | 336       if (!exists) { | 
| 340         print('Directory containing tests not found: $directoryPath'); | 337         print('Directory containing tests not found: $directoryPath'); | 
| 341         directoryListingDone(false); | 338         directoryListingDone(false); | 
| 342       } else { | 339       } else { | 
| 343         dir.onFile = processFile; | 340         var lister = dir.list(recursive: listRecursively()); | 
| 344         dir.onDone = directoryListingDone; | 341         lister.onFile = processFile; | 
| 345         dir.list(recursive: listRecursively()); | 342         lister.onDone = directoryListingDone; | 
| 346       } | 343       } | 
| 347     }); | 344     }); | 
| 348   } | 345   } | 
| 349 | 346 | 
| 350   void enqueueTestCaseFromTestInformation(TestInformation info) { | 347   void enqueueTestCaseFromTestInformation(TestInformation info) { | 
| 351     var filename = info.filename; | 348     var filename = info.filename; | 
| 352     var optionsFromFile = info.optionsFromFile; | 349     var optionsFromFile = info.optionsFromFile; | 
| 353     var isNegative = info.isNegative; | 350     var isNegative = info.isNegative; | 
| 354 | 351 | 
| 355     // Look up expectations in status files using a modified file path. | 352     // Look up expectations in status files using a modified file path. | 
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1047     directoryPath = '$dartDir/$directoryPath'; | 1044     directoryPath = '$dartDir/$directoryPath'; | 
| 1048     // Enqueueing the directory listers is an activity. | 1045     // Enqueueing the directory listers is an activity. | 
| 1049     activityStarted(); | 1046     activityStarted(); | 
| 1050     for (String testDir in _testDirs) { | 1047     for (String testDir in _testDirs) { | 
| 1051       Directory dir = new Directory("$directoryPath/$testDir"); | 1048       Directory dir = new Directory("$directoryPath/$testDir"); | 
| 1052       if (dir.existsSync()) { | 1049       if (dir.existsSync()) { | 
| 1053         activityStarted(); | 1050         activityStarted(); | 
| 1054         dir.onError = (s) { | 1051         dir.onError = (s) { | 
| 1055           throw s; | 1052           throw s; | 
| 1056         }; | 1053         }; | 
| 1057         dir.onFile = processFile; | 1054         var lister = dir.list(recursive: listRecursively()); | 
| 1058         dir.onDone = (ignore) => activityCompleted(); | 1055         lister.onFile = processFile; | 
| 1059         dir.list(recursive: listRecursively()); | 1056         lister.onDone = (ignore) => activityCompleted(); | 
| 1060       } | 1057       } | 
| 1061     } | 1058     } | 
| 1062     // Completed the enqueueing of listers. | 1059     // Completed the enqueueing of listers. | 
| 1063     activityCompleted(); | 1060     activityCompleted(); | 
| 1064   } | 1061   } | 
| 1065 } | 1062 } | 
| 1066 | 1063 | 
| 1067 | 1064 | 
| 1068 class JUnitTestSuite implements TestSuite { | 1065 class JUnitTestSuite implements TestSuite { | 
| 1069   Map configuration; | 1066   Map configuration; | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1114     processDirectory(); | 1111     processDirectory(); | 
| 1115   } | 1112   } | 
| 1116 | 1113 | 
| 1117   void processDirectory() { | 1114   void processDirectory() { | 
| 1118     directoryPath = '$dartDir/$directoryPath'; | 1115     directoryPath = '$dartDir/$directoryPath'; | 
| 1119     Directory dir = new Directory(directoryPath); | 1116     Directory dir = new Directory(directoryPath); | 
| 1120 | 1117 | 
| 1121     dir.onError = (s) { | 1118     dir.onError = (s) { | 
| 1122       throw s; | 1119       throw s; | 
| 1123     }; | 1120     }; | 
| 1124     dir.onFile = processFile; | 1121     var lister = dir.list(recursive: true); | 
| 1125     dir.onDone = createTest; | 1122     lister.onFile = processFile; | 
| 1126     dir.list(recursive: true); | 1123     lister.onDone = createTest; | 
| 1127   } | 1124   } | 
| 1128 | 1125 | 
| 1129   void processFile(String filename) { | 1126   void processFile(String filename) { | 
| 1130     if (!isTestFile(filename)) return; | 1127     if (!isTestFile(filename)) return; | 
| 1131 | 1128 | 
| 1132     int index = filename.indexOf('compiler/javatests/com/google/dart'); | 1129     int index = filename.indexOf('compiler/javatests/com/google/dart'); | 
| 1133     if (index != -1) { | 1130     if (index != -1) { | 
| 1134       String testRelativePath = | 1131       String testRelativePath = | 
| 1135           filename.substring(index + 'compiler/javatests/'.length, | 1132           filename.substring(index + 'compiler/javatests/'.length, | 
| 1136                              filename.length - '.java'.length); | 1133                              filename.length - '.java'.length); | 
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1402  * $noCrash tests are expected to be flaky but not crash | 1399  * $noCrash tests are expected to be flaky but not crash | 
| 1403  * $pass tests are expected to pass | 1400  * $pass tests are expected to pass | 
| 1404  * $failOk tests are expected to fail that we won't fix | 1401  * $failOk tests are expected to fail that we won't fix | 
| 1405  * $fail tests are expected to fail that we should fix | 1402  * $fail tests are expected to fail that we should fix | 
| 1406  * $crash tests are expected to crash that we should fix | 1403  * $crash tests are expected to crash that we should fix | 
| 1407  * $timeout tests are allowed to timeout | 1404  * $timeout tests are allowed to timeout | 
| 1408 """; | 1405 """; | 
| 1409     print(report); | 1406     print(report); | 
| 1410    } | 1407    } | 
| 1411 } | 1408 } | 
| OLD | NEW | 
|---|