[RFC bpf-next 12/12] selftests/bpf: script for infer_header_guards.pl testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This script verifies that patterns for header guard inference
specified in scripts/infer_header_guards.pl cover all uapi headers.
To achieve this the infer_header_guards.pl is invoked the same way it
is invoked from link-vmlinux.sh but with --report-failures flag.

Signed-off-by: Eduard Zingerman <eddyz87@xxxxxxxxx>
---
 .../bpf/test_uapi_header_guards_infer.sh      | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100755 tools/testing/selftests/bpf/test_uapi_header_guards_infer.sh

diff --git a/tools/testing/selftests/bpf/test_uapi_header_guards_infer.sh b/tools/testing/selftests/bpf/test_uapi_header_guards_infer.sh
new file mode 100755
index 000000000000..bd332db100f3
--- /dev/null
+++ b/tools/testing/selftests/bpf/test_uapi_header_guards_infer.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+
+# This script verifies that patterns for header guard inference
+# specified in scripts/infer_header_guards.pl cover all uapi headers.
+# To achieve this the infer_header_guards.pl is invoked the same way
+# it is invoked from link-vmlinux.sh but with --report-failures flag.
+
+kernel_dir=$(dirname $0)/../../../../
+
+# The SRCARCH is defined in tools/scripts/Makefile.arch, thus use a
+# temporary makefile to get access to this variable.
+fake_makefile=$(cat <<EOF
+include tools/scripts/Makefile.arch
+default:
+	scripts/infer_header_guards.pl --report-failures \
+		include/uapi \
+		include/generated/uapi \
+		arch/\$(SRCARCH)/include/uapi \
+		arch/\$(SRCARCH)/include/generated/uapi 1>/dev/null
+EOF
+)
+
+# The infer_header_guards.pl script prints inferred guards to stdout,
+# redirecting stdout to /dev/null to see only error messages.
+echo "$fake_makefile" | make -C $kernel_dir -f - 1>/dev/null
+if [ "$?" == "0" ]; then
+	echo "all good"
+	exit 0
+fi
+
+# Failures are already reported by infer_header_guards.pl
+exit 1
-- 
2.34.1




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux