# Test gasp. proc gasp_test { filename testname opt } { global GASP global srcdir global host_triplet send_log "$srcdir/lib/run $GASP -I$srcdir/gasp -s $opt $filename.asm -o gasp.out\n" catch "exec $srcdir/lib/run $GASP -I$srcdir/gasp -s $opt $filename.asm -o gasp.out" errs catch "exec diff gasp.out $filename.out" diffs set diffs [prune_system_crud $host_triplet $diffs] if ![string match "" $diffs] { send_log "$diffs\n" verbose $diffs fail $testname return 0 } else { pass $testname } } foreach src [ lsort [ glob $srcdir/gasp/*.asm ] ] { regsub -all ".asm" $src "" t regsub "^.*/(\[^/\]*)$" $t "gasp \\1" testname gasp_test $t $testname "" } foreach src [ lsort [ glob $srcdir/gasp/mri/*.asm ] ] { regsub -all ".asm" $src "" t regsub "^.*/(\[^/\]*)$" $t "gasp MRI \\1" testname gasp_test $t $testname "-M" } # FIXME: this is here cause of a bug in DejaGnu 1.1.1. When it is no longer # in use, then this can be removed. if [info exists errorInfo] then { unset errorInfo }