[igt-dev] [PATCH i-g-t v3 0/1] Add a script to allow inlined test documentation
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Tue Feb 14 12:35:29 UTC 2023
From: Mauro Carvalho Chehab <mchehab at kernel.org>
Keeping documentation updated is hard, as text documents gets outdated
when code changes. The best practices are to keep documentation as close
as possible to the code.
This script allows adding documentation inside special tags at the
C files, and validate if the documentation actually meets the code.
It is meant to be used by the new Intel Xe driver, in the process of
being upstreamed. It can be used also for other drivers, as well.
It supports three modes of operation:
1) Output documentation in ReST format (default if no arg provided):
$ scripts/igt-doc.py --files tests/xe/*.c --rest
2) Output a list of tests that are documented
$ scripts/igt-doc.py --files tests/xe/*.c --show-subtests
3) Compare the documented testlists with IGT runner testlist:
$ scripts/igt-doc.py --files tests/xe/*.c --check-testlist
The idea is to add automation to generate the ReST files at the
Xe meson.build file. Once all documentation for Xe is placed inline,
the CI for it can also use this script to discover documentation
gaps.
Both modes (1) and (2) can be tested by running:
$ ./scripts/igt_doc.py --files ./scripts/igt_doc.py
This will use the strings inside the class docstring added on version
3, parsing them as if they're C file documentatoin.
---
v3:
- Added MIT license;
- Some cleanups on its comments;
- Use enumerate() and remove fileinput import;
- Print an error if the field is invalid;
- Kept just one form (either singular or plural) to fields;
- Added a more comprehensive python documentation for the class,
explaining how wildcards are processed;
- Some cosmetic changes;
- Fixed some typos at fields array.
v2:
- Convert to Python
Mauro Carvalho Chehab (1):
scripts:igt-doc.py: add a parser to document tests inlined
scripts/igt_doc.py | 575 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 575 insertions(+)
create mode 100755 scripts/igt_doc.py
--
2.39.0
More information about the igt-dev
mailing list