From f6ba75c7361b0ab104f574e134caa27a55e3efcd Mon Sep 17 00:00:00 2001
From: Martin Roth <gaumless@gmail.com>
Date: Mon, 5 Sep 2022 11:22:11 -0600
Subject: util/lint/lint-stable-019-header-files: add test

Add a test to make sure that the linter fails correctly.

Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I971951d4248dd10abe4c622025fdaf86e014c6cc
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67351
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
---
 util/lint/lint-stable-019-header-files | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'util')

diff --git a/util/lint/lint-stable-019-header-files b/util/lint/lint-stable-019-header-files
index 6495d1535b..f73e0e7549 100755
--- a/util/lint/lint-stable-019-header-files
+++ b/util/lint/lint-stable-019-header-files
@@ -11,6 +11,28 @@ EXCLUDED_FILES='src/include/kconfig.h'
 
 HEADER_FILES="k\?config rules compiler"
 
+TESTFILE1="src/lib/version.c"
+TESTFILE2="src/lib/string.c"
+TESTFILE3="src/lib/malloc.c"
+TESTFILE4="src/lib/hardwaremain.c"
+EXPECTED_FAILURES=4
+
+# Configure to make sure tests fail
+if [ "$1" = "--test" ]; then
+	sed -i.bak "s|^.*SPDX-License-Identifier.*|&\n\n#include <config.h>\n|" "${TESTFILE1}"
+	sed -i.bak "s|^.*SPDX-License-Identifier.*|&\n\n#include \"kconfig.h\"\n|" "${TESTFILE2}"
+	sed -i.bak "s|^.*SPDX-License-Identifier.*|&\n\n#include \"compiler.h\"\n|" "${TESTFILE3}"
+	sed -i.bak "s|^.*SPDX-License-Identifier.*|&\n\n#include <rules.h>\n|" "${TESTFILE4}"
+	echo "Expect ${EXPECTED_FAILURES} failures."
+	exit 0
+elif [ "$1" = "--reset" ]; then
+	mv "${TESTFILE1}.bak" "${TESTFILE1}"
+	mv "${TESTFILE2}.bak" "${TESTFILE2}"
+	mv "${TESTFILE3}.bak" "${TESTFILE3}"
+	mv "${TESTFILE4}.bak" "${TESTFILE4}"
+	exit 0
+fi
+
 # Use git grep if the code is in a git repo, otherwise use grep.
 if [ -n "$(command -v git)" ] && \
 	[ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]
-- 
cgit v1.2.3