mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-14 07:39:37 +00:00
This is possible since our reference files are output from dumpobj, and that does not depend on the format.
94 lines
1.5 KiB
Bash
Executable File
94 lines
1.5 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-cis \
|
|
test-complex-reloc \
|
|
test-enabl-ama \
|
|
test-enabl-lcm \
|
|
test-endm \
|
|
test-float \
|
|
test-if \
|
|
test-impword \
|
|
test-include \
|
|
test-jmp \
|
|
test-listing \
|
|
test-locals \
|
|
test-macro-comma \
|
|
test-mcall-file \
|
|
test-opcodes \
|
|
test-operands \
|
|
test-prec \
|
|
test-psect \
|
|
test-rad50 \
|
|
test-reloc \
|
|
test-rept \
|
|
test-ua-pl \
|
|
test-undef \
|
|
test-word-comma"
|
|
|
|
status=0
|
|
|
|
assemble() {
|
|
fmt="$1"
|
|
t="$2"
|
|
|
|
../macro11 $fmt -l "$t".lst -o "$t".obj "$t".mac 2>/dev/null
|
|
|
|
# Ignore error status and messages from the assembler.
|
|
# We check the listing file to see what we expect.
|
|
|
|
if [ -e "$t".lst.ok ]
|
|
then
|
|
diff -u "$t".lst.ok "$t".lst
|
|
status=$((status + $?))
|
|
fi
|
|
|
|
if [ -e "$t".objd.ok ]
|
|
then
|
|
../dumpobj $fmt "$t".obj >"$t".objd
|
|
diff -u "$t".objd.ok "$t".objd
|
|
status=$((status + $?))
|
|
fi
|
|
}
|
|
|
|
assemble_both() {
|
|
t=$1
|
|
|
|
assemble -rsx "$t"
|
|
assemble -rt11 "$t"
|
|
}
|
|
|
|
|
|
for t in $TESTS
|
|
do
|
|
assemble_both "$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_both "$fn"
|
|
done
|
|
|
|
exit $status
|