summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorjmmv <jmmv@FreeBSD.org>2013-11-25 13:30:06 +0000
committerjmmv <jmmv@FreeBSD.org>2013-11-25 13:30:06 +0000
commit938399344b88932d6761c334b7aca887cac48d33 (patch)
tree6f36c4d6ef4dd80ede8b68a822da002d7e38d645 /share
parent7a1cd362c96ffb387c82d7355b847e68ed67ce32 (diff)
downloadFreeBSD-src-938399344b88932d6761c334b7aca887cac48d33.zip
FreeBSD-src-938399344b88932d6761c334b7aca887cac48d33.tar.gz
Generate plain sh test programs from a source file.
Instead of assuming that plain sh test programs exist in the source tree in their final form and are marked as executable, generate them from a list of sources. By default, just assume that the source file for a program P is P.sh but allow the caller to customize the inputs. Similarly, also allow the caller to apply sed(1) replacements on the output. These will both be useful in hooking existing test code from tools/regression/ into the test suite. Approved by: rpaulo (mentor)
Diffstat (limited to 'share')
-rw-r--r--[-rwxr-xr-x]share/examples/tests/tests/plain/cp_test.sh (renamed from share/examples/tests/tests/plain/cp_test)0
-rw-r--r--share/mk/plain.test.mk10
2 files changed, 10 insertions, 0 deletions
diff --git a/share/examples/tests/tests/plain/cp_test b/share/examples/tests/tests/plain/cp_test.sh
index ea64705..ea64705 100755..100644
--- a/share/examples/tests/tests/plain/cp_test
+++ b/share/examples/tests/tests/plain/cp_test.sh
diff --git a/share/mk/plain.test.mk b/share/mk/plain.test.mk
index b41c585..2e2752d 100644
--- a/share/mk/plain.test.mk
+++ b/share/mk/plain.test.mk
@@ -46,6 +46,16 @@ _TESTS+= ${PLAIN_TESTS_SH}
.for _T in ${PLAIN_TESTS_SH}
SCRIPTSDIR_${_T}= ${TESTSDIR}
TEST_INTERFACE.${_T}= plain
+CLEANFILES+= ${_T} ${_T}.tmp
+# TODO(jmmv): It seems to me that this SED and SRC functionality should
+# exist in bsd.prog.mk along the support for SCRIPTS. Move it there if
+# this proves to be useful within the tests.
+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
+ chmod +x ${.TARGET}.tmp
+ mv ${.TARGET}.tmp ${.TARGET}
.endfor
.endif
OpenPOWER on IntegriCloud