Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(750)

Unified Diff: lib/src/runner/configuration.dart

Issue 1405633004: feature: tag tests; choose tags on command line Base URL: git@github.com:yjbanov/test.git@tags
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: lib/src/runner/configuration.dart
diff --git a/lib/src/runner/configuration.dart b/lib/src/runner/configuration.dart
index 329470fa395cc8ce7d54045fce8a681a129eec17..bb28aeb87c926a81351280e218c615abd5278ca4 100644
--- a/lib/src/runner/configuration.dart
+++ b/lib/src/runner/configuration.dart
@@ -77,6 +77,10 @@ class Configuration {
help: 'Whether to emit raw JavaScript stack traces for browser tests.');
parser.addFlag("color", defaultsTo: null,
help: 'Whether to use terminal colors.\n(auto-detected by default)');
+ parser.addOption("tags",
nweiz 2015/10/13 23:28:12 Add a "t" abbreviation, too.
yjbanov 2015/10/30 20:14:00 Done.
+ help: 'Comma-separated list of tags to run',
+ allowMultiple: true,
+ splitCommas: true);
nweiz 2015/10/13 23:28:12 Add a hidden --tag flag too, to help prevent frust
yjbanov 2015/10/30 20:13:59 Done.
return parser;
})();
@@ -130,6 +134,9 @@ class Configuration {
/// The set of platforms on which to run tests.
final List<TestPlatform> platforms;
+ /// Restricts the set of tests to a set of tags
+ final List<String> tags;
+
/// The global test metadata derived from this configuration.
Metadata get metadata =>
new Metadata(
@@ -169,7 +176,8 @@ class Configuration {
orElse: () => _defaultConcurrency),
pattern: pattern,
platforms: options['platform'].map(TestPlatform.find),
- paths: options.rest.isEmpty ? null : options.rest);
+ paths: options.rest.isEmpty ? null : options.rest,
+ tags: options['tags']);
}
/// Runs [parse] on the value of the option [name], and wraps any
@@ -191,7 +199,8 @@ class Configuration {
this.verboseTrace: false, this.jsTrace: false,
bool pauseAfterLoad: false, bool color, String packageRoot,
String reporter, int pubServePort, int concurrency, this.pattern,
- Iterable<TestPlatform> platforms, Iterable<String> paths})
+ Iterable<TestPlatform> platforms, Iterable<String> paths,
+ List<String> tags})
: pauseAfterLoad = pauseAfterLoad,
color = color == null ? canUseSpecialChars : color,
packageRoot = packageRoot == null
@@ -206,5 +215,8 @@ class Configuration {
: (concurrency == null ? _defaultConcurrency : concurrency),
platforms = platforms == null ? [TestPlatform.vm] : platforms.toList(),
paths = paths == null ? ["test"] : paths.toList(),
- explicitPaths = paths != null;
+ explicitPaths = paths != null,
+ this.tags = tags == null
+ ? const <String>[]
+ : tags;
}

Powered by Google App Engine
This is Rietveld 408576698