#!/bin/bash -e if ! [ -n "$1" ] ; then echo "Uhm, need a test name, yo" exit 1 fi TEST=$@ sbcl --eval "(asdf:load-system :clnl-test)" --eval "(quit)" &> /dev/null runtestfn() { sbcl --noinform --disable-ldb --lose-on-corruption --end-runtime-options \ --eval "(asdf:initialize-source-registry \`(:source-registry (:tree ,(car (directory \"src\"))) :INHERIT-CONFIGURATION))" \ --eval "(asdf:load-system :clnl-test)" \ --eval "(clnl-test::$1 \"$TEST\")" \ --eval "(quit)" 2> /dev/null | sed -n '/^----$/,$p' | tail -n +2 } scalaprog=$(runtestfn "test-scala-prog") if [ -z $scalaprog ] ; then echo "Scala prog empty, so use view diagnosis rather than this one" exit 1 fi scalafile=$(mktemp -u -p . --suffix .scala.dat) clfile=$(mktemp -u -p . --suffix .cl.dat) runtestfn "test-scala-input" | $scalaprog | sed -n '/^----$/,$p' | tail -n +2 > $scalafile runtestfn "test-debug" >$clfile vimdiff $scalafile $clfile rm $scalafile rm $clfile