diff options
author | Leo Balter <leonardo.balter@gmail.com> | 2016-04-15 17:56:36 -0400 |
---|---|---|
committer | Leo Balter <leonardo.balter@gmail.com> | 2016-04-15 17:56:36 -0400 |
commit | 3723e7caebecf3c4701d70b0445bf1f0c795a6a5 (patch) | |
tree | f41e52813610fb92aff388677bc73cada8bbd7db /CONTRIBUTING.md | |
parent | e7f6cd7f867ad02de59181d37267b9bb40bb3c5e (diff) | |
parent | 74bff6b3d51421cc9d69efffdc059cb3adcc81d9 (diff) | |
download | qtdeclarative-testsuites-3723e7caebecf3c4701d70b0445bf1f0c795a6a5.tar.gz |
Merge pull request #545 from bocoup/generation
Introduce test generation tool
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c368f65b4..6e5d41b15 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -246,3 +246,37 @@ p.then(function () { ``` As above, exceptions that are thrown from a `then` clause are passed to a later `$DONE` function and reported asynchronously. + +## Procedurally-generated tests + +Some language features are expressed through a number of distinct syntactic forms. Test262 maintains these tests as a set of "test cases" and "test templates" in order to ensure equivalent coverage across all forms. The sub-directories within the `src/` directory describe the various language features that benefit from this approach. + +Test cases and test templates specify meta-data using the same YAML frontmatter pattern as so-called "static" (i.e. non-generated) tests. The expected attributes differ between test cases and test templates: + +- test cases (`*.case`) + - `template` - name of the sub-directory to locate templates for this test + - `description` (see above) + - `info` (see above) + - `features` (see above; merged with value defined by test template) +- test templates (`*.template`) + - `path` - location within the published test hierarchy to output files created from this template + - `name` - human-readable name of the syntactic form described by this template (used to generate the test file's `description` field) + - `esid` (see above) + - `es5id` (see above) + - `es6id` (see above) + - `info` (see above) + - `features` (see above; merged with value defined by test case) + +Generated files are managed using the `make.py` Python script located in the root of this repository. + +To create files: + + make.py + +To remove all generated files: + + make.py clean + +The executable located at `tools/generation/generator.py` offers additional control over the generation procedure. + + ./tools/generation/generator.py --help |