diff options
author | Julio Merino <jmmv@FreeBSD.org> | 2014-07-09 00:55:50 +0000 |
---|---|---|
committer | Julio Merino <jmmv@FreeBSD.org> | 2014-07-09 00:55:50 +0000 |
commit | 64dc02450bd1cbbf1380d2aeff195e07db51c4c4 (patch) | |
tree | f043c7ef19d8bb1cb034c6e77e7dbb06726714c8 | |
parent | ba8cd08ba951a68946b49115fc07a16cd59829c8 (diff) | |
download | src-64dc02450bd1cbbf1380d2aeff195e07db51c4c4.tar.gz src-64dc02450bd1cbbf1380d2aeff195e07db51c4c4.zip |
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
Notes
Notes:
svn path=/head/; revision=268445
-rw-r--r-- | libexec/atf/atf-sh/tests/Makefile | 7 | ||||
-rw-r--r-- | share/mk/atf.test.mk | 3 | ||||
-rw-r--r-- | share/mk/plain.test.mk | 3 | ||||
-rw-r--r-- | share/mk/tap.test.mk | 2 |
4 files changed, 10 insertions, 5 deletions
diff --git a/libexec/atf/atf-sh/tests/Makefile b/libexec/atf/atf-sh/tests/Makefile index c7a8ffbf5325..e71b6b53a6b4 100644 --- a/libexec/atf/atf-sh/tests/Makefile +++ b/libexec/atf/atf-sh/tests/Makefile @@ -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 diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk index 57cff5af1125..f7d66bfd7ada 100644 --- a/share/mk/atf.test.mk +++ b/share/mk/atf.test.mk @@ -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 diff --git a/share/mk/plain.test.mk b/share/mk/plain.test.mk index 99685ef1d966..f26bab3e42ef 100644 --- a/share/mk/plain.test.mk +++ b/share/mk/plain.test.mk @@ -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 diff --git a/share/mk/tap.test.mk b/share/mk/tap.test.mk index 4c056616c4c5..058ebdfeae9b 100644 --- a/share/mk/tap.test.mk +++ b/share/mk/tap.test.mk @@ -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} |