On 9/16/26 11:41 AM, Kees Cook wrote:
> tools/unittests/run.py discovers and runs the unit tests there (which
> are primarily documentation tools), but nothing in the build calls it,
> so the tests are only run by whoever remembers that the script is there.
Now if we can just remember that this target is present/available ;)
> Give it a target, next to the other checks that need no Sphinx. The name
> ends in "docs", so it matches the "%docs" pattern already in
> no-dot-config-targets and runs without a configured tree, and it sets
> PYTHONPYCACHEPREFIX as the other Python targets here do, to keep
> __pycache__ directories out of the source tree.
>
> $ make testdocs
> ...
> Ran 121 tests
>
> with "make dochelp" listing it between refcheckdocs and cleandocs.
>
> Tested with GNU Make 4.4.1 and Python 3.14.7, on a tree with no .config,
> where it ran 121 tests and left no __pycache__ behind.
>
> Assisted-by: LLM
> Signed-off-by: Kees Cook <[email protected]>
> ---
> I debated the naming here, since "tools/unittests/" is such a general
> directory location, but figured I'd start with a target that made the most
> logical sense given what is actually being tested there? I dunno. Maybe
> "make testtools"? But that reads weird.
I'm happy with "make testdocs".
Ran 122 tests in 0.241s
Tested-by: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
> ---
> Makefile | 2 +-
> Documentation/Makefile | 5 +++++
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 66654fa71655..88557288163d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2002,7 +2002,7 @@ $(help-board-dirs): help-%:
> # ---------------------------------------------------------------------------
> DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
> linkcheckdocs dochelp refcheckdocs texinfodocs infodocs mandocs \
> - htmldocs-redirects
> + htmldocs-redirects testdocs
>
> PHONY += $(DOC_TARGETS)
> $(DOC_TARGETS):
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index 377a449656c8..ee852afe9bb9 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -74,6 +74,10 @@ htmldocs-redirects: $(srctree)/Documentation/.renames.txt
> refcheckdocs:
> $(Q)cd $(srctree); tools/docs/documentation-file-ref-check
>
> +testdocs:
> + $(Q)PYTHONPYCACHEPREFIX="$(PYTHONPYCACHEPREFIX)" \
> + $(PYTHON3) $(srctree)/tools/unittests/run.py
> +
> cleandocs:
> $(Q)rm -rf $(BUILDDIR)
>
> @@ -95,6 +99,7 @@ dochelp:
> @echo ' (will connect to external hosts)'
> @echo ' refcheckdocs - check for references to non-existing files
> under'
> @echo ' Documentation'
> + @echo ' testdocs - run the unit tests of the documentation
> tools'
> @echo ' cleandocs - clean all generated files'
> @echo
> @echo ' make SPHINXDIRS="s1 s2" [target] Generate only docs of folder
> s1, s2'
thanks.
--
~Randy