Commit 380afe72 authored by Joe Stringer's avatar Joe Stringer Committed by Daniel Borkmann

selftests, bpf: Make docs tests fail more reliably

Previously, if rst2man caught errors, then these would be ignored and
the output file would be written anyway. This would allow developers to
introduce regressions in the docs comments in the BPF headers.

Additionally, even if you instruct rst2man to fail out, it will still
write out to the destination target file, so if you ran the tests twice
in a row it would always pass. Use a temporary file for the initial run
to ensure that if rst2man fails out under "--strict" mode, subsequent
runs will not automatically pass.

Tested via ./tools/testing/selftests/bpf/test_doc_build.sh
Signed-off-by: default avatarJoe Stringer <joe@cilium.io>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Reviewed-by: default avatarQuentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20210608015756.340385-1-joe@cilium.io
parent edc0571c
...@@ -37,5 +37,6 @@ test_cpp ...@@ -37,5 +37,6 @@ test_cpp
/runqslower /runqslower
/bench /bench
*.ko *.ko
*.tmp
xdpxceiver xdpxceiver
xdp_redirect_multi xdp_redirect_multi
...@@ -52,7 +52,8 @@ $(OUTPUT)%.$2: $(OUTPUT)%.rst ...@@ -52,7 +52,8 @@ $(OUTPUT)%.$2: $(OUTPUT)%.rst
ifndef RST2MAN_DEP ifndef RST2MAN_DEP
$$(error "rst2man not found, but required to generate man pages") $$(error "rst2man not found, but required to generate man pages")
endif endif
$$(QUIET_GEN)rst2man $$< > $$@ $$(QUIET_GEN)rst2man --exit-status=1 $$< > $$@.tmp
$$(QUIET_GEN)mv $$@.tmp $$@
docs-clean-$1: docs-clean-$1:
$$(call QUIET_CLEAN, eBPF_$1-manpage) $$(call QUIET_CLEAN, eBPF_$1-manpage)
......
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
set -e
# Assume script is located under tools/testing/selftests/bpf/. We want to start # Assume script is located under tools/testing/selftests/bpf/. We want to start
# build attempts from the top of kernel repository. # build attempts from the top of kernel repository.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment