68 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
# Run some regression test cases.
#
# If there is a .lst.ok file, it compares the listing.
# If there is a .objd.ok file, it compares the result of dumpobj.
#
TESTS="test-asciz \
test-backpatch \
test-blkb \
test-bsl-mac-arg \
test-complex-reloc \
test-enabl-lcm \
test-endm \
test-if \
test-impword \
test-include \
test-jmp \
test-listing \
test-locals \
test-macro-comma \
test-prec \
test-psect \
test-rad50 \
test-ua-pl \
test-undef \
test-word-comma"
assemble() {
t="$1"
../macro11 -l "$t".lst -o "$t".obj "$t".mac 2>/dev/null
if [ -e "$t".lst.ok ]
then
diff -u "$t".lst.ok "$t".lst
fi
if [ -e "$t".objd.ok ]
then
../dumpobj "$t".obj >"$t".objd
diff -u "$t".objd.ok "$t".objd
fi
}
for t in $TESTS
do
assemble "$t"
done
for t in 2.11BSD/m11/*.m11
do
fn=$( echo ${t%.m11} | sed 's;/;-;g' )
cat >${fn}.mac <<EOF
;;;; Wrapper for $t
.list
.list
.list
debug = 1
.include "2.11BSD/m11/at.sml"
.include "${t}"
EOF
assemble "$fn"
done