49 lines
922 B
Bash
Executable File
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
|