From 9fe9a000f538697faea8c840d5418adff7bdd676 Mon Sep 17 00:00:00 2001 From: protolambda Date: Wed, 3 Apr 2019 14:37:34 +1100 Subject: [PATCH] more explicit about relations between generator, runner, type, handler --- specs/test_formats/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/specs/test_formats/README.md b/specs/test_formats/README.md index 85f8e7e07..ad6424d8d 100644 --- a/specs/test_formats/README.md +++ b/specs/test_formats/README.md @@ -22,11 +22,14 @@ The particular formats of specific types of tests (test suites) are defined in s ## Glossary - `generator`: a program that outputs one or more `suite` files. + - A generator should only output one `type` of test. + - A generator is free to output multiple `suite` files, optionally with different `handler`s. - `type`: the specialization of one single `generator`. - `suite`: a YAML file with: - a header: describes the `suite`, and defines what the `suite` is for - a list of test cases -- `runner`: where a generator is a "producer", this is the 1-to-1 "consumer". A `runner` focuses on one `type`. +- `runner`: where a generator is a *"producer"*, this is the *"consumer"**. + - A `runner` focuses on *only one* `type`, and each type has *only one* `runner`. - `handler`: a `runner` may be too limited sometimes, you may have a `suite` with a specific focus that requires a different format. To facilitate this, you specify a `handler`: the runner can deal with the format by using the specified handler. Using a `handler` in a `runner` is optional.