#!/usr/bin/env bash set -e # DEFAULTS BASE_PORT="49000" BASE_METRICS_PORT="48008" BASE_REST_PORT="47000" TIMEOUT_DURATION="30" TEST_DIRNAME="build/resttest_sim" #################### # argument parsing # #################### GETOPT_BINARY="getopt" if uname | grep -qi darwin; then # macOS GETOPT_BINARY="/usr/local/opt/gnu-getopt/bin/getopt" [[ -f "$GETOPT_BINARY" ]] || { echo "GNU getopt not installed. Please run 'brew install gnu-getopt'. Aborting."; exit 1; } fi ! ${GETOPT_BINARY} --test > /dev/null if [ ${PIPESTATUS[0]} != 4 ]; then echo '`getopt --test` failed in this environment.' exit 1 fi OPTS="h" LONGOPTS="help,test-dir:,base-port:,base-rest-port:,base-metrics-port:,timeout:" print_help() { cat < ${LOG_FILE} 2>&1 & BEACON_NODE_STATUS=$? if [[ ${BEACON_NODE_STATUS} -eq 0 ]]; then echo "nimbus_beacon_node has been successfully started" BEACON_NODE_PID="$(jobs -p)" ../resttest \ --delay=${TIMEOUT_DURATION} \ --timeout=60 \ --skip-topic=slow \ --connections=4 \ --rules-file="${RESTTEST_RULES}" \ http://${REST_ADDRESS}:${BASE_REST_PORT}/api RESTTEST_STATUS=$? kill -SIGINT ${BEACON_NODE_PID} if [[ ${RESTTEST_STATUS} -eq 0 ]]; then echo "All tests were completed successfully!" else echo "Some of the tests failed!" tail -n 100 ${LOG_FILE} exit 1 fi else echo "nimbus_beacon_node failed to start" fi