Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3 0/1] Add a script to allow inlined test documentation
@ 2023-02-14 12:35 Mauro Carvalho Chehab
  2023-02-14 12:35 ` [igt-dev] [PATCH i-g-t v3 1/1] scripts:igt-doc.py: add a parser to document tests inlined Mauro Carvalho Chehab
       [not found] ` <20230221181517.pgt2apt7mczaikmx@ldmartin-desk2.jf.intel.com>
  0 siblings, 2 replies; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2023-02-14 12:35 UTC (permalink / raw)
  To: igt-dev

From: Mauro Carvalho Chehab <mchehab@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-02-22 21:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-14 12:35 [igt-dev] [PATCH i-g-t v3 0/1] Add a script to allow inlined test documentation Mauro Carvalho Chehab
2023-02-14 12:35 ` [igt-dev] [PATCH i-g-t v3 1/1] scripts:igt-doc.py: add a parser to document tests inlined Mauro Carvalho Chehab
     [not found] ` <20230221181517.pgt2apt7mczaikmx@ldmartin-desk2.jf.intel.com>
2023-02-22 21:07   ` [igt-dev] [PATCH i-g-t v3 0/1] Add a script to allow inlined test documentation Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox