mirror of https://github.com/ethereum/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1015 B
53 lines
1015 B
#!/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 |