getTestsFromDirs method
Implementation
(
Map<String, DetermineFlutterOrDart>? filesToTest,
ExitCode? exitCode,
) getTestsFromDirs(
List<String> testDirs,
Map<String, DetermineFlutterOrDart> dirTools, {
required bool optimize,
}) {
logger.detail(
'${optimize ? '' : 'NOT '}Optimizing ${testDirs.length} test files',
);
if (optimize) {
final done = logger.progress('Optimizing test files');
final result = prepareOptimizedFilesFromDirs(testDirs, dirTools);
done.complete();
if (result.isEmpty) {
logger.err('No tests found');
return (null, ExitCode.unavailable);
}
return (result, null);
}
logger.warn('Running tests without optimization');
final dirsWithTests = <String>[];
for (final MapEntry(key: dir, value: _) in dirTools.entries) {
final result = Glob('**_test.dart')
.listFileSystemSync(fs, followLinks: false, root: dir);
final hasTests = result.any((e) => e is File);
if (hasTests) {
dirsWithTests.add(dir);
}
}
final dirs = {
for (final dir in dirsWithTests) dir: dirTools[dir]!,
};
if (dirs.isEmpty) {
logger.err('No tests found');
return (null, ExitCode.unavailable);
}
return (dirs, null);
}