Add patches
[clnl] / bin / diagnose-test
1 #!/bin/bash -e
2
3 if ! [ -n "$1" ] ; then
4   echo "Uhm, need a test name, yo"
5   exit 1
6 fi
7 TEST=$@
8
9 sbcl --eval "(asdf:load-system :clnl-test)" --eval "(quit)" &> /dev/null
10
11 runtestfn() {
12   sbcl --noinform --disable-ldb --lose-on-corruption --end-runtime-options \
13     --eval "(asdf:load-system :clnl-test)" \
14     --eval "(clnl-test::$1 \"$TEST\")" \
15     --eval "(quit)" 2> /dev/null | sed -n '/^----$/,$p' | tail -n +2
16 }
17
18 scalaprog=$(runtestfn "test-scala-prog")
19
20 if [ -z $scalaprog ] ; then
21   echo "Scala prog empty, so use view diagnosis rather than this one"
22   exit 1
23 fi
24
25 scalafile=$(mktemp -u -p . --suffix .scala.dat)
26 clfile=$(mktemp -u -p . --suffix .cl.dat)
27
28 runtestfn "test-scala-input" | $scalaprog | sed -n '/^----$/,$p' | tail -n +2 > $scalafile
29 runtestfn "test-debug" >$clfile
30
31 vimdiff $scalafile $clfile
32
33 rm $scalafile
34 rm $clfile