summaryrefslogtreecommitdiffstats
path: root/bin/sh/tests/legacy_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sh/tests/legacy_test.sh')
-rw-r--r--bin/sh/tests/legacy_test.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/bin/sh/tests/legacy_test.sh b/bin/sh/tests/legacy_test.sh
new file mode 100644
index 0000000..d43f5dd
--- /dev/null
+++ b/bin/sh/tests/legacy_test.sh
@@ -0,0 +1,46 @@
+# $FreeBSD$
+
+: ${SH:="__SH__"}
+export SH
+
+# TODO(jmmv): The Kyua TAP interface should be passing us the value of
+# "srcdir" as an environment variable, just as it does with the ATF
+# interface in the form of a configuration variable. For now, just try
+# to guess this.
+: ${TESTS_DATA:=$(dirname ${0})}
+
+COUNTER=1
+
+do_test() {
+ c=${COUNTER}
+ COUNTER=$((COUNTER+1))
+ ${SH} $1 > tmp.stdout 2> tmp.stderr
+ if [ $? -ne $2 ]; then
+ echo "not ok ${c} - ${1} # wrong exit status"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ sed -I '' -e "s|^${TESTS_DATA}|.|" tmp.stderr
+ for i in stdout stderr; do
+ if [ -f ${1}.${i} ]; then
+ if ! cmp -s tmp.${i} ${1}.${i}; then
+ echo "not ok ${c} - ${1} # wrong output on ${i}"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ elif [ -s tmp.${i} ]; then
+ echo "not ok ${c} - ${1} # wrong output on ${i}"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ done
+ echo "ok ${c} - ${1}"
+ rm tmp.stdout tmp.stderr
+}
+
+TESTS=$(find -Es ${TESTS_DATA} -regex ".*\.[0-9]+")
+printf "1..%d\n" $(echo ${TESTS} | wc -w)
+
+for i in ${TESTS} ; do
+ do_test ${i} ${i##*.}
+done
OpenPOWER on IntegriCloud