53 lines
1015 B
Bash
53 lines
1015 B
Bash
|
#!/bin/bash
|
||
|
# bash run.sh (testid0 testid1 ...)
|
||
|
# runs tests tests/testid0.sh tests/testid1.sh ...
|
||
|
# without arguments, it runs all tests
|
||
|
|
||
|
. tests/common.sh
|
||
|
|
||
|
TESTS=
|
||
|
|
||
|
if [ "$#" -eq 0 ]; then
|
||
|
for NAME in tests/??.sh; do
|
||
|
i=`basename $NAME .sh`
|
||
|
TESTS="$TESTS $i"
|
||
|
done
|
||
|
else
|
||
|
TESTS=$@
|
||
|
fi
|
||
|
|
||
|
ETH=../../ethereum
|
||
|
DIR="/tmp/eth.test/nodes"
|
||
|
TIMEOUT=10
|
||
|
|
||
|
mkdir -p $DIR/js
|
||
|
|
||
|
echo "running tests $TESTS"
|
||
|
for NAME in $TESTS; do
|
||
|
PIDS=
|
||
|
CHAIN="tests/$NAME.chain"
|
||
|
JSFILE="$DIR/js/$NAME.js"
|
||
|
CHAIN_TEST="$DIR/$NAME/chain"
|
||
|
|
||
|
echo "RUN: test $NAME"
|
||
|
cat tests/common.js > $JSFILE
|
||
|
. tests/$NAME.sh
|
||
|
sleep $TIMEOUT
|
||
|
echo "timeout after $TIMEOUT seconds: killing $PIDS"
|
||
|
kill $PIDS
|
||
|
if [ -r "$CHAIN" ]; then
|
||
|
if diff $CHAIN $CHAIN_TEST >/dev/null ; then
|
||
|
echo "chain ok: $CHAIN=$CHAIN_TEST"
|
||
|
else
|
||
|
echo "FAIL: chains differ: expected $CHAIN ; got $CHAIN_TEST"
|
||
|
continue
|
||
|
fi
|
||
|
fi
|
||
|
ERRORS=$DIR/errors
|
||
|
if [ -r "$ERRORS" ]; then
|
||
|
echo "FAIL: "
|
||
|
cat $ERRORS
|
||
|
else
|
||
|
echo PASS
|
||
|
fi
|
||
|
done
|