8 #LOC=/usr/ftp/pub/ubvl/test/$beispiel
10 allow_null_glob_expansion=1
12 if [ ! -d ~/abgabe/$beispiel ]; then
13 echo "Fehler: Verzeichnis ~/abgabe/$beispiel existiert nicht."
23 echo "Fehler: Kein Programm $PROGRAM"
27 #for i in $LOC/*.0 $LOC2/*.0
31 echo "==========> Eingabe von $i:"
34 RESFILE=test${beispiel}out$$
35 $PROGRAM <$i >$RESFILE
37 echo -n "Übersetzung: "
42 echo "[Errot] Status=$retval. Erwartet: 0"
48 mv -f $RESFILE $RESFILE.s
51 if [ ! -f $CALLFILE ]; then
52 echo "Fehler: Datei $CALLFILE existiert nicht, kann Code nicht ausführen..."
55 echo "Übersetze und linke das Testprogramm:"
56 echo cc -g -I. -DCALL=\"$CALLFILE\" $LOC/testmain.c $LOC/callingconvention.o $RESFILE.s
57 if cc -g -I. -DCALL=\"$CALLFILE\" $LOC/testmain.c $LOC/callingconvention.o $RESFILE.s; then
59 echo "Rufe folgendes Codefragment auf:"
64 # test callee saved registers
65 if [ "$retval" -ge 12 ] && [ "$retval" -le 15 ]; then
66 echo "[Error] Callee-saved register %r$retval modified."
68 elif [ "$retval" -eq 11 ]; then
69 echo "[Error] Callee-saved register %rbx modified."
71 elif [ "$retval" -eq 16 ]; then
72 echo "[Error] Callee-saved register %rbp modified."
74 elif [ "$retval" -eq 30 ]; then
75 echo "[Error] Stack pointer %rsp modified."
83 if test $retsig -eq $expsig; then
84 if test $retval -eq 1; then
85 echo "[Error] Das Ergebnis des Aufrufs ist falsch."
87 elif test $retval -eq 0; then
88 echo "Das Ergebnis des Ausdrucks ist korrekt."
90 echo "[Error] Erzeugter Code verhaelt sich bzgl. Signalerzeugung anders als erwartet."
94 echo "[Error] Erzeugter Code verhaelt sich bezueglich Signalerzeugung anders als erwartet."
96 echo "Rueckgabewert = $retval";
101 echo "[Error] Erzeugter Code konnte nicht assembliert und gelinkt werden."
105 let errnum=errnum+errorfound
106 if [ 1 -eq $errorfound ]; then
111 rm -f a.out $RESFILE $RESFILE.s