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

Unified Diff: doc/package_config.md

Issue 1782473005: Add support for configuration presets. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 4 years, 9 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
« no previous file with comments | « CHANGELOG.md ('k') | lib/src/backend/metadata.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: doc/package_config.md
diff --git a/doc/package_config.md b/doc/package_config.md
index adf4057d562b3bcb3885b5fa656c43d6b0fbd7ba..07c4eca04ac43d56d69dd49734d2da6b4112eff7 100644
--- a/doc/package_config.md
+++ b/doc/package_config.md
@@ -43,6 +43,9 @@ tags:
* [Configuring Platforms](#configuring-platforms)
* [`on_os`](#on_os)
* [`on_platform`](#on_platform)
+* [Configuration Presets](#configuration-presets)
+ * [`presets`](#presets)
+ * [`add_preset`](#add_preset)
## Test Configuration
@@ -288,8 +291,8 @@ This field counts as [test configuration](#test-configuration).
This field adds additional tags. It's technically
[test configuration](#test-configuration), but it's usually used in more
specific contexts. For example, when included in a tag's configuration, it can
-be used to enable tag inheritance, where adding one tag implicitly adds other as
-well. It takes a list of tag name strings.
+be used to enable tag inheritance, where adding one tag implicitly adds another
+as well. It takes a list of tag name strings.
```yaml
tags:
@@ -364,3 +367,71 @@ that are run on the Dart VM under that operating system. To configure all tests
when running on a particular operating system, use [`on_os`](#on_os) instead.
This field counts as [test configuration](#test-configuration).
+
+## Configuration Presets
+
+*Presets* are collections of configuration that can be explicitly selected on
+the command-line. They're useful for quickly selecting options that are
+frequently used together, for providing special configuration for continuous
+integration systems, and for defining more complex logic than can be expressed
+directly using command-line arguments.
+
+Presets can be selected on the command line using the `--preset` or `-P` flag.
+Any number of presets can be selected this way; if they conflict, the last one
+selected wins. Only presets that are defined in the configuration file may be
+selected.
+
+### `presets`
+
+This field defines which presets are available to select. It takes a map from
+preset names to configuration maps that are applied when those presets are
+selected. These configuration maps are just like the top level of the
+configuration file, and allow any fields that may be used in the context where
+`presets` was used.
+
+```yaml
+presets:
+ # Use this when you need completely un-munged stack traces.
+ debug:
+ verbose_trace: false
+ js_trace: true
+
+ # Shortcut for running only browser tests.
+ browser:
+ paths:
+ - test/runner/browser
+ - test/runner/pub_serve_test.dart
+```
+
+The `presets` field counts as [test configuration](#test-configuration). It can
+be useful to use it in combination with other fields for advanced preset
+behavior.
+
+```yaml
+tags:
+ chrome:
+ skip: "Our Chrome launcher is busted. See issue 1234."
+
+ # Pass -P force to verify that the launcher is still busted.
+ presets: {force: {skip: false}}
+```
+
+### `add_presets`
+
+This field selects additional presets. It's technically
+[runner configuration](#runner-configuration), but it's usually used in more
+specific contexts. For example, when included in a preset's configuration, it
+can be used to enable preset inheritance, where selecting one preset implicitly
+selects another as well. It takes a list of preset name strings.
+
+```yaml
+presets:
+ # Shortcut for running only browser tests.
+ browser:
+ paths: [test/runner/browser]
+
+ # Shortcut for running only Chrome tests.
+ chrome:
+ filename: "chrome_*_test.dart"
+ add_presets: [browser]
+```
« no previous file with comments | « CHANGELOG.md ('k') | lib/src/backend/metadata.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698