mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 22:51:13 +00:00
add simnet tests (#9222)
* add simnet tests * add link to bracap presentation of simnet * add link to bracap presentation of simnet * rm not needed file
This commit is contained in:
Executable
+126
@@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
|
||||
### ARGS FOR THIS SCRIPT ###
|
||||
# ./${SCRIPT_NAME} NAMESPACE IMAGE LOG_PATH FEATURES
|
||||
# NAMESPACE the kubernetes namespace where the test will run
|
||||
# IMAGE Substrate image used to spawn network
|
||||
# LOG_PATH path to dir where to save logs from external JS script that is run as part
|
||||
# of step in features file
|
||||
# FEATURES directory containing cucumber files or single cucumber file that describes
|
||||
# what to test.
|
||||
#
|
||||
# All args have default values, specify args to override
|
||||
# e.g: ./${SCRIPT_NAME} test-name parity/substrate:latest logs quick
|
||||
|
||||
set -eou pipefail
|
||||
SCRIPT_NAME="$0"
|
||||
SCRIPT_PATH=$(dirname "${SCRIPT_NAME}") # relative
|
||||
SCRIPT_PATH=$(cd "${SCRIPT_PATH}" && pwd) # absolutized and normalized
|
||||
|
||||
function random_string {
|
||||
head -1 <(fold -w 30 <(tr -dc 'a-z0-9' < /dev/urandom))
|
||||
}
|
||||
|
||||
#
|
||||
### Script args
|
||||
#
|
||||
|
||||
NAMESPACE=${1:-gurke-"$(random_string)"-runtest}
|
||||
IMAGE=${2:-"parity/substrate:latest"}
|
||||
LOG_PATH=${3:-"${SCRIPT_PATH}/logs"}
|
||||
FEATURES=${4:-"ALL"}
|
||||
|
||||
mkdir -p "${SCRIPT_PATH}"/logs
|
||||
|
||||
echo "Running tests in namespace: ${NAMESPACE}"
|
||||
echo "Testing image: ${IMAGE}"
|
||||
echo "Storing scripts logs to: ${LOG_PATH}"
|
||||
echo "Using features files from: ${FEATURES}"
|
||||
|
||||
#
|
||||
### Script logic
|
||||
#
|
||||
|
||||
function forward_port {
|
||||
# RUN_IN_CONTAINER is env var that is set in the dockerfile
|
||||
# use the -v operator to explicitly test if a variable is set
|
||||
if [[ ! -v RUN_IN_CONTAINER ]] ; then
|
||||
if is_port_forward_running ; then
|
||||
kill_previous_job
|
||||
fi
|
||||
fi
|
||||
start_forwading_job
|
||||
}
|
||||
|
||||
FORWARD_GREP_FILTER='kubectl.*[p]ort-forward.*svc/rpc.*11222'
|
||||
|
||||
function is_port_forward_running {
|
||||
# shellcheck disable=SC2009
|
||||
ps aux | grep -qE "${FORWARD_GREP_FILTER}"
|
||||
}
|
||||
|
||||
function kill_previous_job {
|
||||
# shellcheck disable=SC2009
|
||||
job_pid=$(ps aux | grep -E "${FORWARD_GREP_FILTER}" | awk '{ print $2 }')
|
||||
echo "INFO Killed forwading port 9944 into bootnode"
|
||||
kill "${job_pid}"
|
||||
}
|
||||
|
||||
function start_forwading_job {
|
||||
kubectl -n "${NAMESPACE}" \
|
||||
expose pod bootnode \
|
||||
--name=rpc \
|
||||
--type=NodePort \
|
||||
--target-port=9944 \
|
||||
--port=9944
|
||||
kubectl -n "${NAMESPACE}" \
|
||||
port-forward svc/rpc 11222:9944 &> "${LOG_PATH}/forward-${NAMESPACE}.log" &
|
||||
sleep 2
|
||||
echo "INFO Started forwading port 9944 into bootnode"
|
||||
}
|
||||
|
||||
function update_api {
|
||||
echo "INFO: Updating Polkadot JS API"
|
||||
pwd
|
||||
cd "${SCRIPT_PATH}"/../../sub-flood/
|
||||
npm run build
|
||||
cd -
|
||||
}
|
||||
|
||||
function run_test {
|
||||
case "${FEATURES}" in
|
||||
quick)
|
||||
gurke test "${NAMESPACE}" "${SCRIPT_PATH}"/tests/quick --log-path "${LOG_PATH}"
|
||||
;;
|
||||
long)
|
||||
gurke test "${NAMESPACE}" "${SCRIPT_PATH}"/tests/long --log-path "${LOG_PATH}"
|
||||
;;
|
||||
ALL )
|
||||
gurke test "${NAMESPACE}" "${SCRIPT_PATH}"/tests --log-path "${LOG_PATH}"
|
||||
;;
|
||||
??* )
|
||||
gurke test \
|
||||
"${NAMESPACE}" \
|
||||
"${SCRIPT_PATH}"/"${FEATURES}" \
|
||||
--log-path "${LOG_PATH}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
export NAMESPACE="${NAMESPACE}"
|
||||
|
||||
set -x # echo the commands to stdout
|
||||
gurke spawn --config "${SCRIPT_PATH}"/configs/default_local_testnet.toml \
|
||||
-n "${NAMESPACE}" \
|
||||
--image "${IMAGE}"
|
||||
|
||||
echo "INFO: Checking if pods launched correctly"
|
||||
kubectl -n "${NAMESPACE}" get pods -o wide
|
||||
|
||||
update_api
|
||||
|
||||
forward_port
|
||||
run_test
|
||||
|
||||
|
||||
Reference in New Issue
Block a user