74 lines
2.7 KiB
Markdown
74 lines
2.7 KiB
Markdown
|
|
# Document generation
|
||
|
|
|
||
|
|
## Background
|
||
|
|
|
||
|
|
The utility scripts described below are used to update or generate some documents
|
||
|
|
in the public document tree.
|
||
|
|
|
||
|
|
* The scripts should be run at each Zonemaster release and the resulting update
|
||
|
|
should be submitted to correct git branch of this git repository.
|
||
|
|
|
||
|
|
## Pre-requisite
|
||
|
|
|
||
|
|
The scripts should be run on a computer where the updated git branch of
|
||
|
|
`zonemaster/zonemaster` has been cloned, and the equivalent version of
|
||
|
|
`zonemaster/engine` has been **installed**. Usually the git branches will
|
||
|
|
be the `develop` branches of each repository.
|
||
|
|
|
||
|
|
## Scripts
|
||
|
|
|
||
|
|
* [generateTestCaseList.pl]
|
||
|
|
* This tool extracts all Test Case specifications and creates a Markdown table
|
||
|
|
to be inserted in [Test Case README].
|
||
|
|
* [updateTestPlanReadme.pl]
|
||
|
|
* This tool extracts all Test Case specifications per Test Plan and creates
|
||
|
|
Markdown tables. The tables are automatically added to the Test Plan
|
||
|
|
README.md file which is located in the directory named after the Test Plan.
|
||
|
|
* [generateTestMessages.pl]
|
||
|
|
* This tools creates a map between the Zonemaster message tags from the
|
||
|
|
[Zonemaster-Engine] implementation of the Test Cases and the Test Case
|
||
|
|
specifications. This is used to create the complete [TestMessages.md] file.
|
||
|
|
* [generateImplementedTestCases.pl]
|
||
|
|
* This tool creates a list of implemented test cases from the
|
||
|
|
[Zonemaster-Engine] implementation. This is used to create the complete
|
||
|
|
[ImplementedTestCases.md] file.
|
||
|
|
|
||
|
|
## Steps to be run
|
||
|
|
|
||
|
|
1. You are assumed to start from the root of the zonemaster/zonemaster tree.
|
||
|
|
Go to directory to execute the commands from.
|
||
|
|
```sh
|
||
|
|
cd docs/public/specifications/tests
|
||
|
|
```
|
||
|
|
2. All commands below must be run from the directory you are in now.
|
||
|
|
3. Remove Test Case table from [README.md][Test Case README] in that directory
|
||
|
|
and save the file.
|
||
|
|
4. Run:
|
||
|
|
```sh
|
||
|
|
../../../../utils/generateTestCaseList.pl >> README.md
|
||
|
|
```
|
||
|
|
5. Run:
|
||
|
|
```sh
|
||
|
|
../../../../utils/updateTestPlanReadme.pl
|
||
|
|
```
|
||
|
|
6. Run:
|
||
|
|
```sh
|
||
|
|
../../../../utils/generateTestMessages.pl > TestMessages.md
|
||
|
|
```
|
||
|
|
7. Run:
|
||
|
|
```sh
|
||
|
|
../../../../utils/generateImplementedTestCases.pl > ImplementedTestCases.md
|
||
|
|
```
|
||
|
|
8. Verify any updated documents.
|
||
|
|
9. Submit to git.
|
||
|
|
|
||
|
|
|
||
|
|
[generateImplementedTestCases.pl]: generateImplementedTestCases.pl
|
||
|
|
[generateTestCaseList.pl]: generateTestCaseList.pl
|
||
|
|
[generateTestMessages.pl]: generateTestMessages.pl
|
||
|
|
[ImplementedTestCases.md]: ../docs/public/specifications/tests/ImplementedTestCases.md
|
||
|
|
[Test Case README]: ../docs/public/specifications/tests/README.md
|
||
|
|
[TestMessages.md]: ../docs/public/specifications/tests/TestMessages.md
|
||
|
|
[updateTestPlanReadme.pl]: generateTestMessages.pl
|
||
|
|
[Zonemaster-Engine]: https://github.com/zonemaster/zonemaster-engine
|