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)
35 lines
743 B
Plaintext
35 lines
743 B
Plaintext
# $FreeBSD$
|
|
|
|
failures=0
|
|
unset LC_ALL
|
|
export LC_CTYPE=en_US.ISO8859-1
|
|
nl='
|
|
'
|
|
i=1
|
|
set -f
|
|
while [ "$i" -le 255 ]; do
|
|
# A different byte still in the range 1..255.
|
|
i2=$((i^2+(i==2)))
|
|
# Add a character to work around command substitution's removal of
|
|
# final newlines, then remove it again.
|
|
c=$(printf \\"$(printf %o@ "$i")")
|
|
c=${c%@}
|
|
c2=$(printf \\"$(printf %o@ "$i2")")
|
|
c2=${c2%@}
|
|
case $c in
|
|
[\'$nl'$}();&|\"`']) c=M
|
|
esac
|
|
case $c2 in
|
|
[\'$nl'$}();&|\"`']) c2=N
|
|
esac
|
|
IFS=$c
|
|
command eval "set -- \${\$+$c2$c$c2$c$c2}"
|
|
if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] ||
|
|
[ "$3" != "$c2" ]; then
|
|
echo "Bad results for separator $i (word $i2)" >&2
|
|
: $((failures += 1))
|
|
fi
|
|
i=$((i+1))
|
|
done
|
|
exit $((failures > 0))
|