40 lines
1 KiB
Text
40 lines
1 KiB
Text
# 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
|
|
}
|
|
|