diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2019-05-05 16:04:14 +0200 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2019-05-05 16:04:14 +0200 |
commit | 61309852742548b496d222cf4e3f2c5e1569e6dd (patch) | |
tree | 5d09e86f041cf3b6d76174087e563470a424ad12 /tools | |
parent | 7ba69be87b3910cac2a8cd1cfe021e58f57f58d7 (diff) | |
download | roux-61309852742548b496d222cf4e3f2c5e1569e6dd.tar.gz |
add asm diffing in test script
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/test.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/test.sh b/tools/test.sh index 8abdb21..c2c25c5 100755 --- a/tools/test.sh +++ b/tools/test.sh @@ -2,11 +2,13 @@ dir=`cd $(dirname "$0"); pwd` bin=$dir/../obj/qbe +binref=$dir/../obj/qbe.ref tmp=/tmp/qbe.zzzz drv=$tmp.c asm=$tmp.s +asmref=$tmp.ref.s exe=$tmp.exe out=$tmp.out @@ -109,6 +111,11 @@ once() { return 1 fi + if test -x $binref + then + $binref -o $asmref $t 2>/dev/null + fi + extract driver $t > $drv extract output $t > $out @@ -143,6 +150,14 @@ once() { fi echo "[ok]" + + if test -f $asmref && ! cmp -s $asm $asmref + then + loc0=`wc -l $asm | cut -d' ' -f1` + loc1=`wc -l $asmref | cut -d' ' -f1` + printf " asm diff: %+d\n" $(($loc0 - $loc1)) + return 0 + fi } #trap cleanup TERM QUIT |