aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-05-13 11:32:28 -0700
committerGitHub <noreply@github.com>2020-05-13 11:32:28 -0700
commit85708facaea88f0909e3e58eb42738eb11729b88 (patch)
tree8b5a2942f8b84bdd402486aec2883e7832010c1b /docs/markdown
parentd526af89ca0e52fa076a805e4f585d16dbd1562a (diff)
parent1dee6c618d879c20bf0a70eebc54bc8caf47716f (diff)
downloadmeson-85708facaea88f0909e3e58eb42738eb11729b88.zip
meson-85708facaea88f0909e3e58eb42738eb11729b88.tar.gz
meson-85708facaea88f0909e3e58eb42738eb11729b88.tar.bz2
Merge pull request #6620 from jon-turney/test-output-check
Add a mechanism for validating meson output in tests
Diffstat (limited to 'docs/markdown')
-rw-r--r--docs/markdown/Contributing.md27
1 files changed, 24 insertions, 3 deletions
diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md
index 8a24e0b..b16f615 100644
--- a/docs/markdown/Contributing.md
+++ b/docs/markdown/Contributing.md
@@ -329,10 +329,31 @@ Currently supported values are:
#### tools
-This section specifies a list of tool requirements in a simple key-value format.
+This section specifies a dict of tool requirements in a simple key-value format.
If a tool is specified, it has to be present in the environment, and the version
-requirement must be fulfilled match. Otherwise, the entire test is skipped
-(including every element in the test matrix).
+requirement must be fulfilled. Otherwise, the entire test is skipped (including
+every element in the test matrix).
+
+#### stdout
+
+The `stdout` key contains a list of dicts, describing the expected stdout.
+
+Each dict contains the following keys:
+
+- `line`
+- `match` (optional)
+
+Each item in the list is matched, in order, against the remaining actual stdout
+lines, after any previous matches. If the actual stdout is exhausted before
+every item in the list is matched, the expected output has not been seen, and
+the test has failed.
+
+The `match` element of the dict determines how the `line` element is matched:
+
+| Type | Description |
+| -------- | ----------------------- |
+| `literal` | Literal match (default) |
+| `re` | regex match |
### Skipping integration tests