#!/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-gbl \ 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-reg \ 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 <