Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Mar 2025 04:44:32 GMT
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 85242b59d17d - main - libc: tests: fix luacheck warnings in the fortification test generator
Message-ID:  <202503200444.52K4iWFa055461@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=85242b59d17dcbfbc82afea9d4232006df074210

commit 85242b59d17dcbfbc82afea9d4232006df074210
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2025-03-20 04:42:57 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2025-03-20 04:44:25 +0000

    libc: tests: fix luacheck warnings in the fortification test generator
    
    All of these are simple shadowing that don't need to happen; we're
    passing the shadowed value through in every case anyways, just use it
    in the closure in a more lua-natural fashion.
    
    While we're here, lint the generator every time we generate tests to
    ensure that we don't regress without having to remember to manually
    run luacheck.
    
    Reported by:    jlduran
    Reviewed by:    jlduran, markj
    Differential Revision:  https://reviews.freebsd.org/D49235
---
 lib/libc/tests/secure/Makefile                   | 10 +++++++++-
 lib/libc/tests/secure/generate-fortify-tests.lua | 12 ++++++------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/lib/libc/tests/secure/Makefile b/lib/libc/tests/secure/Makefile
index ccf89afb1ad5..beaa01457cfe 100644
--- a/lib/libc/tests/secure/Makefile
+++ b/lib/libc/tests/secure/Makefile
@@ -18,10 +18,18 @@ FORTIFY_TCATS+=	unistd
 FORTIFY_TCATS+=	wchar
 
 # Manually run after updating the test generator.
-generate-tests: .PHONY
+lint-generator: .PHONY
+	@if ! which luacheck>/dev/null; then \
+		1>&2 echo "devel/lua-luacheck is required to regenerate and lint these tests"; \
+		exit 1; \
+	fi
+	luacheck ${.CURDIR}/generate-fortify-tests.lua
+
+generate-tests: .PHONY lint-generator
 .for tcat in ${FORTIFY_TCATS}
 ATF_TESTS_C+=	fortify_${tcat}_test
 
+.ORDER: lint-generator generate-tests-${tcat}
 generate-tests: generate-tests-${tcat}
 generate-tests-${tcat}: .PHONY
 	${.CURDIR}/generate-fortify-tests.lua ${tcat} > ${.CURDIR}/fortify_${tcat}_test.c
diff --git a/lib/libc/tests/secure/generate-fortify-tests.lua b/lib/libc/tests/secure/generate-fortify-tests.lua
index 0e46b8867862..ef9e0299dd48 100755
--- a/lib/libc/tests/secure/generate-fortify-tests.lua
+++ b/lib/libc/tests/secure/generate-fortify-tests.lua
@@ -1113,7 +1113,7 @@ local function configurable(def, idx)
 end
 
 local function generate_stackframe(buftype, bufsize, disposition, heap, def)
-	local function len_offset(inverted, disposition)
+	local function len_offset(inverted)
 		-- Tests that don't use __len in their arguments may use an
 		-- inverted sense because we can't just specify a length that
 		-- would induce an access just after the end.  Instead, we have
@@ -1128,7 +1128,7 @@ local function generate_stackframe(buftype, bufsize, disposition, heap, def)
 		end
 	end
 
-	local function test_uses_len(def)
+	local function test_uses_len()
 		if def.uses_len then
 			return true
 		end
@@ -1151,8 +1151,8 @@ local function generate_stackframe(buftype, bufsize, disposition, heap, def)
 	local vars = "\tstruct {\n"
 	vars = vars .. "\t\tuint8_t padding_l;\n"
 
-	local uses_len = test_uses_len(def)
-	local bufsize_offset = len_offset(not uses_len, disposition)
+	local uses_len = test_uses_len()
+	local bufsize_offset = len_offset(not uses_len)
 	local buftype_elem = array_type(buftype)
 	local size_expr = bufsize
 
@@ -1230,7 +1230,7 @@ local function write_test(fh, func, disposition, heap, def)
 		return
 	end
 
-	local function need_addr(buftype)
+	local function need_addr()
 		return not (buftype:match("%[%]") or buftype:match("%*"))
 	end
 
@@ -1292,7 +1292,7 @@ local function write_test(fh, func, disposition, heap, def)
 		end
 
 		if arg == "__buf" then
-			if not heap and need_addr(buftype) then
+			if not heap and need_addr() then
 				body = body .. "&"
 			end
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202503200444.52K4iWFa055461>