solana-with-rpc-optimizations/ci/localnet-sanity.sh

77 lines
1.3 KiB
Bash
Raw Normal View History

2018-07-30 12:51:35 -07:00
#!/bin/bash -e
#
# Perform a quick sanity test on a leader, drone, validator and client running
# locally on the same machine
#
cd "$(dirname "$0")"/..
source ci/upload_ci_artifact.sh
source multinode-demo/common.sh
2018-07-30 12:51:35 -07:00
./multinode-demo/setup.sh
2018-08-03 14:56:35 -07:00
backgroundCommands="drone leader validator validator-x"
2018-07-30 12:51:35 -07:00
pids=()
for cmd in $backgroundCommands; do
echo "--- Start $cmd"
rm -f log-"$cmd".txt
./multinode-demo/"$cmd".sh > log-"$cmd".txt 2>&1 &
declare pid=$!
pids+=("$pid")
echo "pid: $pid"
done
killBackgroundCommands() {
2018-07-30 12:51:35 -07:00
set +e
for pid in "${pids[@]}"; do
if kill "$pid"; then
wait "$pid"
else
echo -e "^^^ +++\\nWarning: unable to kill $pid"
fi
done
set -e
pids=()
}
shutdown() {
exitcode=$?
killBackgroundCommands
set +e
2018-07-30 12:51:35 -07:00
echo "--- Upload artifacts"
2018-07-30 12:51:35 -07:00
for cmd in $backgroundCommands; do
declare logfile=log-$cmd.txt
upload_ci_artifact "$logfile"
tail "$logfile"
done
2018-07-30 17:09:05 -07:00
exit $exitcode
2018-07-30 12:51:35 -07:00
}
2018-07-30 17:09:05 -07:00
trap shutdown EXIT INT
2018-07-30 12:51:35 -07:00
set -e
echo "--- Wallet sanity"
(
set -x
multinode-demo/test/wallet-sanity.sh
)
echo "--- Node count"
(
set -x
./multinode-demo/client.sh "$PWD" 3 -c --addr 127.0.0.1
2018-07-30 12:51:35 -07:00
)
echo "--- Ledger verification"
killBackgroundCommands
$solana_ledger_tool --ledger "$SOLANA_CONFIG_DIR"/ledger verify
2018-07-30 12:51:35 -07:00
echo +++
echo Ok
exit 0