Summary
miltertest — the test harness used by every test in check_SCRIPTS — is only compiled when Lua is enabled (miltertest/Makefile.am):
if LUA
bin_PROGRAMS = miltertest
...
endif
All test scripts invoke ../../miltertest/miltertest. If the tree is configured without --enable-lua, miltertest is never built, and make check fails for every test with a "command not found" error rather than a clean skip.
Specific cases
Beyond the global dependency, two tests additionally require opendkim to have been built with Lua support (they use SetupPolicyScript in their configs), but are listed unconditionally in check_SCRIPTS:
t-sign-rs-lua — uses t-sign-rs-lua.lua-setup
t-lua-verify-tests — Lua-only test harness
For comparison, feature-optional tests that are already correctly gated: t-lua-rbl (if LIVE_TESTS + if RBL), t-verify-ss-rep (if REPUTE), t-sign-ss-replace (if REPLACE_RULES), t-sign-atps / t-verify-ss-atps (if ATPS), t-sign-ss-conditional (if CONDITIONAL).
Fix
Wrap the entire check_SCRIPTS assignment in opendkim/tests/Makefile.am inside if LUA:
if LUA
check_SCRIPTS = t-sign-ss t-sign-rs ...
...
endif
This makes a build without --enable-lua produce a clean make check with zero tests run rather than a cascade of failures.
Summary
miltertest— the test harness used by every test incheck_SCRIPTS— is only compiled when Lua is enabled (miltertest/Makefile.am):if LUA bin_PROGRAMS = miltertest ... endifAll test scripts invoke
../../miltertest/miltertest. If the tree is configured without--enable-lua,miltertestis never built, andmake checkfails for every test with a "command not found" error rather than a clean skip.Specific cases
Beyond the global dependency, two tests additionally require opendkim to have been built with Lua support (they use
SetupPolicyScriptin their configs), but are listed unconditionally incheck_SCRIPTS:t-sign-rs-lua— usest-sign-rs-lua.lua-setupt-lua-verify-tests— Lua-only test harnessFor comparison, feature-optional tests that are already correctly gated:
t-lua-rbl(if LIVE_TESTS+if RBL),t-verify-ss-rep(if REPUTE),t-sign-ss-replace(if REPLACE_RULES),t-sign-atps/t-verify-ss-atps(if ATPS),t-sign-ss-conditional(if CONDITIONAL).Fix
Wrap the entire
check_SCRIPTSassignment in opendkim/tests/Makefile.am insideif LUA:if LUA check_SCRIPTS = t-sign-ss t-sign-rs ... ... endifThis makes a build without
--enable-luaproduce a cleanmake checkwith zero tests run rather than a cascade of failures.