solana/scripts/wallet-sanity.sh

49 lines
922 B
Bash
Executable File

#!/usr/bin/env bash
#
# solana-cli integration sanity test
#
set -e
cd "$(dirname "$0")"/..
# shellcheck source=multinode-demo/common.sh
source multinode-demo/common.sh
if [[ -z $1 ]]; then # no network argument, use localhost by default
args=(--url http://127.0.0.1:8899)
else
args=("$@")
fi
args+=(--keypair "$SOLANA_CONFIG_DIR"/faucet.json)
node_readiness=false
timeout=60
while [[ $timeout -gt 0 ]]; do
set +e
output=$($solana_cli "${args[@]}" transaction-count --commitment finalized)
rc=$?
set -e
if [[ $rc -eq 0 && -n $output ]]; then
node_readiness=true
break
fi
sleep 2
(( timeout=timeout-2 ))
done
if ! "$node_readiness"; then
echo "Timed out waiting for cluster to start"
exit 1
fi
(
set -x
$solana_cli "${args[@]}" address
$solana_cli "${args[@]}" balance
$solana_cli "${args[@]}" ping --count 5 --interval 0
$solana_cli "${args[@]}" balance
)
echo PASS
exit 0