Commit a9eddd48 authored by Ian Hickson's avatar Ian Hickson

Also analyze the driver host entry points. (#3395)

parent 424a6b1d
...@@ -22,6 +22,23 @@ bool isDartFile(FileSystemEntity entry) => entry is File && entry.path.endsWith( ...@@ -22,6 +22,23 @@ bool isDartFile(FileSystemEntity entry) => entry is File && entry.path.endsWith(
bool isDartTestFile(FileSystemEntity entry) => entry is File && entry.path.endsWith('_test.dart'); bool isDartTestFile(FileSystemEntity entry) => entry is File && entry.path.endsWith('_test.dart');
bool isDartBenchmarkFile(FileSystemEntity entry) => entry is File && entry.path.endsWith('_bench.dart'); bool isDartBenchmarkFile(FileSystemEntity entry) => entry is File && entry.path.endsWith('_bench.dart');
RegExp _testFileParser = new RegExp(r'^(.+)_test(\.dart)$');
void _addDriverTest(FileSystemEntity entry, List<String> dartFiles) {
if (isDartTestFile(entry)) {
final String testFileName = entry.path;
dartFiles.add(testFileName);
Match groups = _testFileParser.firstMatch(testFileName);
assert(groups.groupCount == 2);
final String hostFileName = '${groups[1]}${groups[2]}';
File hostFile = new File(hostFileName);
if (hostFile.existsSync()) {
assert(isDartFile(hostFile));
dartFiles.add(hostFileName);
}
}
}
void _addPackage(String directoryPath, List<String> dartFiles, Set<String> pubSpecDirectories) { void _addPackage(String directoryPath, List<String> dartFiles, Set<String> pubSpecDirectories) {
final int originalDartFilesCount = dartFiles.length; final int originalDartFilesCount = dartFiles.length;
...@@ -61,12 +78,10 @@ void _addPackage(String directoryPath, List<String> dartFiles, Set<String> pubSp ...@@ -61,12 +78,10 @@ void _addPackage(String directoryPath, List<String> dartFiles, Set<String> pubSp
if (testDriverDirectory.existsSync()) { if (testDriverDirectory.existsSync()) {
for (FileSystemEntity entry in testDriverDirectory.listSync()) { for (FileSystemEntity entry in testDriverDirectory.listSync()) {
if (entry is Directory) { if (entry is Directory) {
for (FileSystemEntity subentry in entry.listSync()) { for (FileSystemEntity subentry in entry.listSync())
if (isDartTestFile(subentry)) _addDriverTest(subentry, dartFiles);
dartFiles.add(subentry.path);
}
} else if (isDartTestFile(entry)) { } else if (isDartTestFile(entry)) {
dartFiles.add(entry.path); _addDriverTest(entry, dartFiles);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment