2019-12-14 02:23:11 +11:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
# TODO: find POSIX substitute to that PIPESTATUS thing
|
2019-05-17 23:33:20 +10:00
|
|
|
|
2020-01-01 05:07:05 +11:00
|
|
|
BASE=../..
|
2020-01-01 07:07:39 +11:00
|
|
|
ZASM="${BASE}/emul/zasm/zasm"
|
2020-01-01 05:32:09 +11:00
|
|
|
RUNBIN="${BASE}/emul/runbin/runbin"
|
2019-06-03 09:54:37 +10:00
|
|
|
KERNEL="${BASE}/kernel"
|
|
|
|
APPS="${BASE}/apps"
|
2019-05-17 23:33:20 +10:00
|
|
|
|
2019-07-23 23:28:39 +10:00
|
|
|
chk() {
|
|
|
|
echo "Running test $1"
|
2019-12-24 07:41:25 +11:00
|
|
|
if ! ${ZASM} "${KERNEL}" "${APPS}" common.asm < $1 | ${RUNBIN}; then
|
2019-05-17 23:33:20 +10:00
|
|
|
echo "failed with code ${PIPESTATUS[1]}"
|
|
|
|
exit 1
|
|
|
|
fi
|
2019-07-23 23:28:39 +10:00
|
|
|
}
|
|
|
|
|
2019-12-10 01:36:38 +11:00
|
|
|
if [ ! -z $1 ]; then
|
2019-07-23 23:28:39 +10:00
|
|
|
chk $1
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2019-12-24 07:41:25 +11:00
|
|
|
for fn in test_*.asm; do
|
2019-07-23 23:28:39 +10:00
|
|
|
chk "${fn}"
|
2019-05-17 23:33:20 +10:00
|
|
|
done
|
|
|
|
|
|
|
|
echo "All tests passed!"
|