Index: lib/src/runner/configuration.dart |
diff --git a/lib/src/runner/configuration.dart b/lib/src/runner/configuration.dart |
index 28f42788636b964fc87e35d648c96ab29b377b56..018952c26c667deacd75630dcc0436cd8d3e6c14 100644 |
--- a/lib/src/runner/configuration.dart |
+++ b/lib/src/runner/configuration.dart |
@@ -4,6 +4,7 @@ |
import 'dart:io'; |
+import 'package:glob/glob.dart'; |
import 'package:path/path.dart' as p; |
import '../frontend/timeout.dart'; |
@@ -75,6 +76,12 @@ class Configuration { |
/// Whether the load paths were passed explicitly or the default was used. |
bool get explicitPaths => _paths != null; |
+ /// The glob matching the basename of tests to run. |
+ /// |
+ /// This is used to find tests within a directory. |
+ Glob get filename => _filename ?? defaultFilename; |
+ final Glob _filename; |
+ |
/// The pattern to match against test names to decide which to run, or `null` |
/// if all tests should be run. |
final Pattern pattern; |
@@ -117,7 +124,7 @@ class Configuration { |
bool pauseAfterLoad, bool color, String packageRoot, String reporter, |
int pubServePort, int concurrency, Timeout timeout, this.pattern, |
Iterable<TestPlatform> platforms, Iterable<String> paths, |
- Iterable<String> tags, Iterable<String> excludeTags}) |
+ Glob filename, Iterable<String> tags, Iterable<String> excludeTags}) |
: _help = help, |
_version = version, |
_verboseTrace = verboseTrace, |
@@ -135,8 +142,15 @@ class Configuration { |
: (timeout == null ? new Timeout.factor(1) : timeout), |
_platforms = _list(platforms), |
_paths = _list(paths), |
+ _filename = filename, |
tags = tags?.toSet() ?? new Set(), |
- excludeTags = excludeTags?.toSet() ?? new Set(); |
+ excludeTags = excludeTags?.toSet() ?? new Set() { |
+ if (_filename != null && _filename.context.style != p.style) { |
+ throw new ArgumentError( |
+ "filename's context must match the current operating system, was " |
+ "${_filename.context.style}."); |
+ } |
+ } |
/// Returns a [input] as a list or `null`. |
/// |
@@ -169,6 +183,7 @@ class Configuration { |
pattern: other.pattern ?? pattern, |
platforms: other._platforms ?? _platforms, |
paths: other._paths ?? _paths, |
+ filename: other._filename ?? _filename, |
tags: other.tags.union(tags), |
excludeTags: other.excludeTags.union(excludeTags)); |
} |