| # 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_warnings $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 |
| } |
| |