|
@ -1,17 +1,30 @@ |
|
|
#! /bin/bash |
|
|
#! /bin/bash |
|
|
set -eu |
|
|
set -eu |
|
|
|
|
|
|
|
|
# Top Level Testing Script |
|
|
|
|
|
# See the github.com/tendermint/tendermint/test/README.md |
|
|
|
|
|
|
|
|
# Get the directory of where this script is. |
|
|
|
|
|
SOURCE="${BASH_SOURCE[0]}" |
|
|
|
|
|
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done |
|
|
|
|
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" |
|
|
|
|
|
|
|
|
echo "" |
|
|
|
|
|
echo "* building docker image" |
|
|
|
|
|
bash ./test/docker/build.sh |
|
|
|
|
|
|
|
|
LOGS_DIR="$DIR/logs" |
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] cleaning up $LOGS_DIR" |
|
|
|
|
|
rm -rf "$LOGS_DIR" |
|
|
|
|
|
mkdir -p "$LOGS_DIR" |
|
|
|
|
|
|
|
|
echo "" |
|
|
|
|
|
echo "* running go tests and app tests in docker container" |
|
|
|
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] starting rsyslog container" |
|
|
|
|
|
docker rm -f rsyslog || true |
|
|
|
|
|
docker run -d -v "$LOGS_DIR:/var/log/" -p 127.0.0.1:5514:514/udp --name rsyslog voxxit/rsyslog |
|
|
|
|
|
|
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] building docker image" |
|
|
|
|
|
bash "$DIR/docker/build.sh" |
|
|
|
|
|
|
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] running go tests and app tests in docker container" |
|
|
# sometimes its helpful to mount the local test folder |
|
|
# sometimes its helpful to mount the local test folder |
|
|
# -v $GOPATH/src/github.com/tendermint/tendermint/test:/go/src/github.com/tendermint/tendermint/test |
|
|
|
|
|
|
|
|
# -v $DIR:/go/src/github.com/tendermint/tendermint/test |
|
|
docker run --name run_test -t tester bash test/run_test.sh |
|
|
docker run --name run_test -t tester bash test/run_test.sh |
|
|
|
|
|
|
|
|
# copy the coverage results out of docker container |
|
|
# copy the coverage results out of docker container |
|
@ -19,16 +32,20 @@ docker cp run_test:/go/src/github.com/tendermint/tendermint/coverage.txt . |
|
|
|
|
|
|
|
|
# test basic network connectivity |
|
|
# test basic network connectivity |
|
|
# by starting a local testnet and checking peers connect and make blocks |
|
|
# by starting a local testnet and checking peers connect and make blocks |
|
|
echo "" |
|
|
|
|
|
echo "* running p2p tests on a local docker network" |
|
|
|
|
|
bash test/p2p/test.sh tester |
|
|
|
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] running p2p tests on a local docker network" |
|
|
|
|
|
bash "$DIR/p2p/test.sh" tester |
|
|
|
|
|
|
|
|
# only run the cloud benchmark for releases |
|
|
# only run the cloud benchmark for releases |
|
|
BRANCH=`git rev-parse --abbrev-ref HEAD` |
|
|
|
|
|
|
|
|
BRANCH=$(git rev-parse --abbrev-ref HEAD) |
|
|
if [[ $(echo "$BRANCH" | grep "release-") != "" ]]; then |
|
|
if [[ $(echo "$BRANCH" | grep "release-") != "" ]]; then |
|
|
echo "" |
|
|
|
|
|
|
|
|
echo |
|
|
echo "TODO: run network tests" |
|
|
echo "TODO: run network tests" |
|
|
#echo "* branch $BRANCH; running mintnet/netmon throughput benchmark" |
|
|
#echo "* branch $BRANCH; running mintnet/netmon throughput benchmark" |
|
|
# TODO: replace mintnet |
|
|
# TODO: replace mintnet |
|
|
#bash test/net/test.sh |
|
|
|
|
|
|
|
|
#bash "$DIR/net/test.sh" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
echo |
|
|
|
|
|
echo "* [$(date +"%T")] stopping rsyslog container" |
|
|
|
|
|
docker rm -f rsyslog |