From 50749fc02546857bf9c0a8d7855329bdb581db36 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Sat, 7 Nov 2026 10:17:02 -1000 Subject: Show unit checks as skipped when no Lua is found With no standalone interpreter on the path the unit checks were never registered, so they counted as neither run nor skipped, and a fault in the version probe dropped them all behind one line of output. The test bodies now expand their paths as they run, so a quote in a path no longer breaks them. --- tests/extensions/lib.sh | 7 +++++-- tests/t0501-about-render.sh | 14 +++++++------- tests/t0502-syntax-highlight.sh | 22 +++++++++++----------- tests/t0503-link-commits.sh | 8 ++++---- tests/t0504-email-avatar.sh | 20 ++++++++++---------- tests/t0506-link-trailers.sh | 8 ++++---- 6 files changed, 41 insertions(+), 38 deletions(-) diff --git a/tests/extensions/lib.sh b/tests/extensions/lib.sh index d490655..8584446 100644 --- a/tests/extensions/lib.sh +++ b/tests/extensions/lib.sh @@ -43,8 +43,11 @@ do ext_lua_versions="$ext_lua_versions|$ext_lua_version|" interpreters="$interpreters $ext_lua_bin" done -test -n "$interpreters" || - say 'no standalone lua on the path, unit checks skipped' + +# A script registers its unit checks for each of ${interpreters:-lua} under +# the STANDALONE_LUA prerequisite, so with none found they still show in +# the count, as skipped, rather than vanishing from it. +test -z "$interpreters" || test_set_prereq STANDALONE_LUA # Asks whether cgit's own Lua can require every module named, by pointing a # throwaway commit-filter at the given repository and reading its answer off diff --git a/tests/t0501-about-render.sh b/tests/t0501-about-render.sh index 94c5e82..95028f0 100755 --- a/tests/t0501-about-render.sh +++ b/tests/t0501-about-render.sh @@ -13,15 +13,15 @@ CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh . "$TEST_OUTPUT_DIRECTORY/extensions/lib.sh" -for lua in $interpreters +for lua in ${interpreters:-lua} do - test_expect_success "unit checks under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-about-render.lua' '$EXTENSIONS_DIRECTORY/about-render.lua' - " + test_expect_success STANDALONE_LUA "unit checks under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-about-render.lua" "$EXTENSIONS_DIRECTORY/about-render.lua" + ' - test_expect_success "fallback checks without lpeg under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-about-render.lua' '$EXTENSIONS_DIRECTORY/about-render.lua' nolpeg - " + test_expect_success STANDALONE_LUA "fallback checks without lpeg under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-about-render.lua" "$EXTENSIONS_DIRECTORY/about-render.lua" nolpeg + ' done test_expect_success 'create a repository with a markdown readme' ' diff --git a/tests/t0502-syntax-highlight.sh b/tests/t0502-syntax-highlight.sh index 2d929e4..3e32e3b 100755 --- a/tests/t0502-syntax-highlight.sh +++ b/tests/t0502-syntax-highlight.sh @@ -15,20 +15,20 @@ CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh . "$TEST_OUTPUT_DIRECTORY/extensions/lib.sh" -for lua in $interpreters +for lua in ${interpreters:-lua} do - test_expect_success "highlighting checks under $(lua_version "$lua")" " - CGIT_SCINTILLUA_PATH='$EXT_TEST_DIRECTORY/fake-lexers' \ - '$lua' '$EXT_TEST_DIRECTORY/test-syntax-highlight.lua' \ - '$EXTENSIONS_DIRECTORY/syntax-highlight.lua' highlight - " + test_expect_success STANDALONE_LUA "highlighting checks under $(lua_version "$lua")" ' + CGIT_SCINTILLUA_PATH="$EXT_TEST_DIRECTORY/fake-lexers" \ + "$lua" "$EXT_TEST_DIRECTORY/test-syntax-highlight.lua" \ + "$EXTENSIONS_DIRECTORY/syntax-highlight.lua" highlight + ' - test_expect_success "fallback checks without lexers under $(lua_version "$lua")" " + test_expect_success STANDALONE_LUA "fallback checks without lexers under $(lua_version "$lua")" ' mkdir -p empty-lexers && - CGIT_SCINTILLUA_PATH=\"\$PWD/empty-lexers\" \ - '$lua' '$EXT_TEST_DIRECTORY/test-syntax-highlight.lua' \ - '$EXTENSIONS_DIRECTORY/syntax-highlight.lua' nolexers - " + CGIT_SCINTILLUA_PATH="$PWD/empty-lexers" \ + "$lua" "$EXT_TEST_DIRECTORY/test-syntax-highlight.lua" \ + "$EXTENSIONS_DIRECTORY/syntax-highlight.lua" nolexers + ' done test_expect_success 'create a repository holding a lexable file' ' diff --git a/tests/t0503-link-commits.sh b/tests/t0503-link-commits.sh index 32f8d3e..337bae1 100755 --- a/tests/t0503-link-commits.sh +++ b/tests/t0503-link-commits.sh @@ -11,11 +11,11 @@ CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh . "$TEST_OUTPUT_DIRECTORY/extensions/lib.sh" -for lua in $interpreters +for lua in ${interpreters:-lua} do - test_expect_success "unit checks under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-link-commits.lua' '$EXTENSIONS_DIRECTORY/link-commits.lua' - " + test_expect_success STANDALONE_LUA "unit checks under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-link-commits.lua" "$EXTENSIONS_DIRECTORY/link-commits.lua" + ' done test_expect_success 'create a repository whose commit message holds matches' ' diff --git a/tests/t0504-email-avatar.sh b/tests/t0504-email-avatar.sh index 10b9fca..1b82a41 100755 --- a/tests/t0504-email-avatar.sh +++ b/tests/t0504-email-avatar.sh @@ -14,22 +14,22 @@ CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh . "$TEST_OUTPUT_DIRECTORY/extensions/lib.sh" -for lua in $interpreters +for lua in ${interpreters:-lua} do for script in email-gravatar email-libravatar do - test_expect_success "$script checks under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-email-avatar.lua' '$EXTENSIONS_DIRECTORY/$script.lua' stub - " - test_expect_success "$script checks without luaossl under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-email-avatar.lua' '$EXTENSIONS_DIRECTORY/$script.lua' missing - " + test_expect_success STANDALONE_LUA "$script checks under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-email-avatar.lua" "$EXTENSIONS_DIRECTORY/$script.lua" stub + ' + test_expect_success STANDALONE_LUA "$script checks without luaossl under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-email-avatar.lua" "$EXTENSIONS_DIRECTORY/$script.lua" missing + ' if "$lua" -e "require([[openssl.digest]])" >/dev/null 2>&1 then - test_expect_success "$script checks with real luaossl under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-email-avatar.lua' '$EXTENSIONS_DIRECTORY/$script.lua' real - " + test_expect_success STANDALONE_LUA "$script checks with real luaossl under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-email-avatar.lua" "$EXTENSIONS_DIRECTORY/$script.lua" real + ' fi done done diff --git a/tests/t0506-link-trailers.sh b/tests/t0506-link-trailers.sh index 7faafca..87bf7de 100755 --- a/tests/t0506-link-trailers.sh +++ b/tests/t0506-link-trailers.sh @@ -11,11 +11,11 @@ CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh . "$TEST_OUTPUT_DIRECTORY/extensions/lib.sh" -for lua in $interpreters +for lua in ${interpreters:-lua} do - test_expect_success "unit checks under $(lua_version "$lua")" " - '$lua' '$EXT_TEST_DIRECTORY/test-link-trailers.lua' '$EXTENSIONS_DIRECTORY/link-trailers.lua' - " + test_expect_success STANDALONE_LUA "unit checks under $(lua_version "$lua")" ' + "$lua" "$EXT_TEST_DIRECTORY/test-link-trailers.lua" "$EXTENSIONS_DIRECTORY/link-trailers.lua" + ' done test_expect_success 'create a repository whose commit carries linkable trailers' ' -- cgit 2.12.1