dtrace tests: Support globbing for excludes
Downstream this makes skipping tests like common/ip/tst.*sctp*.ksh simpler. Reviewed by: vangyzen, cem, markj Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D24608
This commit is contained in:
parent
74787ef47b
commit
b155807e48
@ -1,7 +1,8 @@
|
||||
# $FreeBSD$
|
||||
|
||||
TESTGROUP= ${.CURDIR:H:T}/${.CURDIR:T}
|
||||
TESTSRC= ${SRCTOP}/cddl/contrib/opensolaris/cmd/dtrace/test/tst/${TESTGROUP}
|
||||
TESTBASE= ${SRCTOP}/cddl/contrib/opensolaris/cmd/dtrace/test/tst
|
||||
TESTSRC= ${TESTBASE}/${TESTGROUP}
|
||||
TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace/${TESTGROUP}
|
||||
|
||||
FILESGROUPS+= ${TESTGROUP}EXE
|
||||
@ -18,7 +19,8 @@ TEST_METADATA.t_dtrace_contrib+= required_user="root"
|
||||
GENTEST?= ${.CURDIR:H:H}/tools/gentest.sh
|
||||
EXCLUDE= ${.CURDIR:H:H}/tools/exclude.sh
|
||||
${TESTWRAPPER}.sh: ${GENTEST} ${EXCLUDE} ${${PACKAGE}FILES}
|
||||
sh ${GENTEST} -e ${EXCLUDE} ${TESTGROUP} ${${PACKAGE}FILES:S/ */ /} > ${.TARGET}
|
||||
env TESTBASE=${TESTBASE:Q} \
|
||||
sh ${GENTEST} -e ${EXCLUDE} ${TESTGROUP} ${${PACKAGE}FILES:S/ */ /} > ${.TARGET}
|
||||
|
||||
CLEANFILES+= ${TESTWRAPPER}.sh
|
||||
|
||||
|
@ -23,7 +23,22 @@
|
||||
|
||||
exclude()
|
||||
{
|
||||
eval $1=\"\$$1\\n$2\"
|
||||
case $2 in
|
||||
# Handle globbing later
|
||||
*"*"*) ;;
|
||||
# No globbing needed
|
||||
*)
|
||||
eval $1=\"\$$1\\n$2\"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
for file in ${TESTBASE}/${2}; do
|
||||
case ${file} in
|
||||
# Invalid glob
|
||||
"${TESTBASE}/${2}") echo "Invalid exclude for $2" >&2; exit 1; ;;
|
||||
esac
|
||||
exclude "$1" "${file##${TESTBASE}/}"
|
||||
done
|
||||
}
|
||||
|
||||
exclude EXFAIL common/aggs/tst.subr.d
|
||||
|
Loading…
Reference in New Issue
Block a user