Fix atf-sh's integration_test
With the move of atf-sh into /usr/libexec in r267181, some of the tests in the integration_test program broke because they could not execute atf-sh from the path any longer. This slipped through because I do have a local atf installation in my home directory that appears in my path, hence the tests could still execute my own version. Fix this by forcing /usr/libexec to appear at the beginning of the path when attempting to execute atf-sh. To make upgrading easy (and to avoid an unnecessary entry in UPDATING), make integration_test depend on the Makefile so that a rebuild of the shell script is triggered. This requires a hack in the *.test.mk files to ensure the Makefile is not treated as a source to the generated program. Ugly, I know, but I don't have a better way of doing this at the moment. Will think of one once I address the TODO in the *.test.mk files that suggests generalizing the file generation functionality. PR: 191052 Reviewed by: Garrett Cooper
This commit is contained in:
parent
4fc5a551ca
commit
c2d032c26e
@ -10,12 +10,15 @@ ATF= ${.CURDIR:H:H:H:H}/contrib/atf
|
||||
ATF_TESTS_SH+= atf_check_test
|
||||
ATF_TESTS_SH+= config_test
|
||||
ATF_TESTS_SH+= integration_test
|
||||
ATF_TESTS_SH_SED_integration_test= \
|
||||
-e 's,/usr/bin/env *atf-sh,/usr/libexec/atf-sh,g'
|
||||
ATF_TESTS_SH+= normalize_test
|
||||
ATF_TESTS_SH+= tc_test
|
||||
ATF_TESTS_SH+= tp_test
|
||||
|
||||
integration_test: Makefile
|
||||
ATF_TESTS_SH_SED_integration_test= \
|
||||
-e 's,atf_check,PATH=/usr/libexec:$${PATH} atf_check,g' \
|
||||
-e 's,/usr/bin/env *atf-sh,/usr/libexec/atf-sh,g'
|
||||
|
||||
SCRIPTS+= misc_helpers
|
||||
SCRIPTSDIR_misc_helpers=${TESTSDIR}
|
||||
CLEANFILES+= misc_helpers misc_helpers.tmp
|
||||
|
@ -105,7 +105,8 @@ ATF_TESTS_SH_SED_${_T}?= # empty
|
||||
ATF_TESTS_SH_SRC_${_T}?= ${_T}.sh
|
||||
${_T}: ${ATF_TESTS_SH_SRC_${_T}}
|
||||
echo '#! /usr/libexec/atf-sh' > ${.TARGET}.tmp
|
||||
cat ${.ALLSRC} | sed ${ATF_TESTS_SH_SED_${_T}} >>${.TARGET}.tmp
|
||||
cat ${.ALLSRC:N*Makefile*} \
|
||||
| sed ${ATF_TESTS_SH_SED_${_T}} >>${.TARGET}.tmp
|
||||
chmod +x ${.TARGET}.tmp
|
||||
mv ${.TARGET}.tmp ${.TARGET}
|
||||
.endfor
|
||||
|
@ -57,7 +57,8 @@ CLEANFILES+= ${_T} ${_T}.tmp
|
||||
PLAIN_TESTS_SH_SED_${_T}?= # empty
|
||||
PLAIN_TESTS_SH_SRC_${_T}?= ${_T}.sh
|
||||
${_T}: ${PLAIN_TESTS_SH_SRC_${_T}}
|
||||
cat ${.ALLSRC} | sed ${PLAIN_TESTS_SH_SED_${_T}} >${.TARGET}.tmp
|
||||
cat ${.ALLSRC:N*Makefile*} \
|
||||
| sed ${PLAIN_TESTS_SH_SED_${_T}} >${.TARGET}.tmp
|
||||
chmod +x ${.TARGET}.tmp
|
||||
mv ${.TARGET}.tmp ${.TARGET}
|
||||
.endfor
|
||||
|
@ -66,7 +66,7 @@ TAP_TESTS_PERL_SRC_${_T}?= ${_T}.pl
|
||||
${_T}: ${TAP_TESTS_PERL_SRC_${_T}}
|
||||
{ \
|
||||
echo '#! ${TAP_PERL_INTERPRETER}'; \
|
||||
cat ${.ALLSRC} | sed ${TAP_TESTS_PERL_SED_${_T}}; \
|
||||
cat ${.ALLSRC:N*Makefile*} | sed ${TAP_TESTS_PERL_SED_${_T}}; \
|
||||
} >${.TARGET}.tmp
|
||||
chmod +x ${.TARGET}.tmp
|
||||
mv ${.TARGET}.tmp ${.TARGET}
|
||||
|
Loading…
x
Reference in New Issue
Block a user