13de33a5dc
This change is a proof of concept on how to easily integrate existing tests from the tools/regression/ hierarchy into the /usr/tests/ test suite and on how to adapt them to the new layout for src. To achieve these goals, this change: - Moves tests from tools/regression/bin/<tool>/ to bin/<tool>/tests/. - Renames the previous regress.sh files to legacy_test.sh. - Adds Makefiles to build and install the tests and all their supporting data files into /usr/tests/bin/. - Plugs the legacy_test test programs into the test suite using the new TAP backend for Kyua (appearing in 0.8) so that the code of the test programs does not have to change. - Registers the new directories in the BSD.test.dist mtree file. Reviewed by: freebsd-testing Approved by: rpaulo (mentor)
31 lines
670 B
Plaintext
31 lines
670 B
Plaintext
# $FreeBSD$
|
|
IFS=,
|
|
|
|
SPECIAL="break,\
|
|
:,\
|
|
continue,\
|
|
. /dev/null,\
|
|
eval,\
|
|
exec,\
|
|
export -p,\
|
|
readonly -p,\
|
|
set,\
|
|
shift,\
|
|
times,\
|
|
trap,\
|
|
unset foo"
|
|
|
|
# If there is no command word, the shell must abort on an assignment error.
|
|
${SH} -c "readonly a=0; a=2; exit 0" 2>/dev/null && exit 1
|
|
|
|
# Special built-in utilities must abort on an assignment error.
|
|
set -- ${SPECIAL}
|
|
for cmd in "$@"
|
|
do
|
|
${SH} -c "readonly a=0; a=2 ${cmd}; exit 0" 2>/dev/null && exit 1
|
|
done
|
|
|
|
# Other utilities must not abort; we currently still execute them.
|
|
${SH} -c 'readonly a=0; a=1 true; exit $a' 2>/dev/null || exit 1
|
|
${SH} -c 'readonly a=0; a=1 command :; exit $a' 2>/dev/null || exit 1
|