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

