solana/system-test/restart-testcases/restart_test_automation.sh

52 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
# shellcheck disable=SC1090
# shellcheck disable=SC1091
source "$(dirname "$0")"/../automation_utils.sh
RESULT_FILE="$1"
if [[ -z $CONSENSUS_TIMEOUT ]]; then
CONSENSUS_TIMEOUT=180
fi
startGpuMode="off"
if [[ -z $ENABLE_GPU ]]; then
ENABLE_GPU=false
fi
if [[ "$ENABLE_GPU" = "true" ]]; then
startGpuMode="on"
fi
declare maybeAsyncNodeInit
if [[ "$ASYNC_NODE_INIT" = "true" ]]; then
maybeAsyncNodeInit="--async-node-init"
fi
# Restart the network
"$REPO_ROOT"/net/net.sh stop
sleep 2
# shellcheck disable=SC2086
"$REPO_ROOT"/net/net.sh start --skip-setup --no-snapshot-fetch --no-deploy \
--gpu-mode $startGpuMode $maybeAsyncNodeInit
# wait until consensus
start=$SECONDS
activeStake=$(get_active_stake)
while [[ $((SECONDS - start)) -lt $CONSENSUS_TIMEOUT ]]; do
currentStake=$(get_current_stake)
echo "$((SECONDS - start))s: Current stake $currentStake, Active stake $activeStake" >> "$RESULT_FILE"
if [[ $activeStake -eq $currentStake ]]; then
echo "Restart Test Succeeded" >>"$RESULT_FILE"
exit 0
fi
sleep 5
done
echo "Could not establish consensus in $CONSENSUS_TIMEOUT seconds" >> "$RESULT_FILE"
exit 1