mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 04:07:57 +00:00
002d9260f9
**Update:** Pushed additional changes based on the review comments. **This pull request fixes various spelling mistakes in this repository.** Most of the changes are contained in the first **3** commits: - `Fix spelling mistakes in comments and docs` - `Fix spelling mistakes in test names` - `Fix spelling mistakes in error messages, panic messages, logs and tracing` Other source code spelling mistakes are separated into individual commits for easier reviewing: - `Fix the spelling of 'authority'` - `Fix the spelling of 'REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY'` - `Fix the spelling of 'prev_enqueud_messages'` - `Fix the spelling of 'endpoint'` - `Fix the spelling of 'children'` - `Fix the spelling of 'PenpalSiblingSovereignAccount'` - `Fix the spelling of 'PenpalSudoAccount'` - `Fix the spelling of 'insufficient'` - `Fix the spelling of 'PalletXcmExtrinsicsBenchmark'` - `Fix the spelling of 'subtracted'` - `Fix the spelling of 'CandidatePendingAvailability'` - `Fix the spelling of 'exclusive'` - `Fix the spelling of 'until'` - `Fix the spelling of 'discriminator'` - `Fix the spelling of 'nonexistent'` - `Fix the spelling of 'subsystem'` - `Fix the spelling of 'indices'` - `Fix the spelling of 'committed'` - `Fix the spelling of 'topology'` - `Fix the spelling of 'response'` - `Fix the spelling of 'beneficiary'` - `Fix the spelling of 'formatted'` - `Fix the spelling of 'UNKNOWN_PROOF_REQUEST'` - `Fix the spelling of 'succeeded'` - `Fix the spelling of 'reopened'` - `Fix the spelling of 'proposer'` - `Fix the spelling of 'InstantiationNonce'` - `Fix the spelling of 'depositor'` - `Fix the spelling of 'expiration'` - `Fix the spelling of 'phantom'` - `Fix the spelling of 'AggregatedKeyValue'` - `Fix the spelling of 'randomness'` - `Fix the spelling of 'defendant'` - `Fix the spelling of 'AquaticMammal'` - `Fix the spelling of 'transactions'` - `Fix the spelling of 'PassingTracingSubscriber'` - `Fix the spelling of 'TxSignaturePayload'` - `Fix the spelling of 'versioning'` - `Fix the spelling of 'descendant'` - `Fix the spelling of 'overridden'` - `Fix the spelling of 'network'` Let me know if this structure is adequate. **Note:** The usage of the words `Merkle`, `Merkelize`, `Merklization`, `Merkelization`, `Merkleization`, is somewhat inconsistent but I left it as it is. ~~**Note:** In some places the term `Receival` is used to refer to message reception, IMO `Reception` is the correct word here, but I left it as it is.~~ ~~**Note:** In some places the term `Overlayed` is used instead of the more acceptable version `Overlaid` but I also left it as it is.~~ ~~**Note:** In some places the term `Applyable` is used instead of the correct version `Applicable` but I also left it as it is.~~ **Note:** Some usage of British vs American english e.g. `judgement` vs `judgment`, `initialise` vs `initialize`, `optimise` vs `optimize` etc. are both present in different places, but I suppose that's understandable given the number of contributors. ~~**Note:** There is a spelling mistake in `.github/CODEOWNERS` but it triggers errors in CI when I make changes to it, so I left it as it is.~~
139 lines
4.4 KiB
Bash
Executable File
139 lines
4.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -x
|
|
shopt -s nullglob
|
|
|
|
trap "trap - SIGINT SIGTERM EXIT && killall -q -9 substrate-relay && kill -- -$$" SIGINT SIGTERM EXIT
|
|
|
|
# run tests in range [TESTS_BEGIN; TESTS_END)
|
|
TESTS_BEGIN=1
|
|
TESTS_END=1000
|
|
# whether to use paths for zombienet+bridges tests container or for local testing
|
|
ZOMBIENET_DOCKER_PATHS=0
|
|
while [ $# -ne 0 ]
|
|
do
|
|
arg="$1"
|
|
case "$arg" in
|
|
--docker)
|
|
ZOMBIENET_DOCKER_PATHS=1
|
|
;;
|
|
--test)
|
|
shift
|
|
TESTS_BEGIN="$1"
|
|
TESTS_END="$1"
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
# assuming that we'll be using native provide && all processes will be executing locally
|
|
# (we need absolute paths here, because they're used when scripts are called by zombienet from tmp folders)
|
|
export POLKADOT_SDK_PATH=`realpath $(dirname "$0")/../..`
|
|
export BRIDGE_TESTS_FOLDER=$POLKADOT_SDK_PATH/bridges/testing/tests
|
|
|
|
# set path to binaries
|
|
if [ "$ZOMBIENET_DOCKER_PATHS" -eq 1 ]; then
|
|
export POLKADOT_BINARY=/usr/local/bin/polkadot
|
|
export POLKADOT_PARACHAIN_BINARY=/usr/local/bin/polkadot-parachain
|
|
|
|
export SUBSTRATE_RELAY_BINARY=/usr/local/bin/substrate-relay
|
|
export ZOMBIENET_BINARY_PATH=/usr/local/bin/zombie
|
|
else
|
|
export POLKADOT_BINARY=$POLKADOT_SDK_PATH/target/release/polkadot
|
|
export POLKADOT_PARACHAIN_BINARY=$POLKADOT_SDK_PATH/target/release/polkadot-parachain
|
|
|
|
export SUBSTRATE_RELAY_BINARY=~/local_bridge_testing/bin/substrate-relay
|
|
export ZOMBIENET_BINARY_PATH=~/local_bridge_testing/bin/zombienet-linux
|
|
fi
|
|
|
|
# check if `wait` supports -p flag
|
|
if [ `printf "$BASH_VERSION\n5.1" | sort -V | head -n 1` = "5.1" ]; then IS_BASH_5_1=1; else IS_BASH_5_1=0; fi
|
|
|
|
# bridge configuration
|
|
export LANE_ID="00000002"
|
|
|
|
# tests configuration
|
|
ALL_TESTS_FOLDER=`mktemp -d /tmp/bridges-zombienet-tests.XXXXX`
|
|
|
|
function start_coproc() {
|
|
local command=$1
|
|
local name=$2
|
|
local logname=`basename $name`
|
|
local coproc_log=`mktemp -p $TEST_FOLDER $logname.XXXXX`
|
|
coproc COPROC {
|
|
# otherwise zombienet uses some hardcoded paths
|
|
unset RUN_IN_CONTAINER
|
|
unset ZOMBIENET_IMAGE
|
|
|
|
$command >$coproc_log 2>&1
|
|
}
|
|
TEST_COPROCS[$COPROC_PID, 0]=$name
|
|
TEST_COPROCS[$COPROC_PID, 1]=$coproc_log
|
|
echo "Spawned $name coprocess. StdOut + StdErr: $coproc_log"
|
|
|
|
return $COPROC_PID
|
|
}
|
|
|
|
# execute every test from tests folder
|
|
TEST_INDEX=$TESTS_BEGIN
|
|
while true
|
|
do
|
|
declare -A TEST_COPROCS
|
|
TEST_COPROCS_COUNT=0
|
|
TEST_PREFIX=$(printf "%04d" $TEST_INDEX)
|
|
|
|
# it'll be used by the `sync-exit.sh` script
|
|
export TEST_FOLDER=`mktemp -d -p $ALL_TESTS_FOLDER test-$TEST_PREFIX.XXXXX`
|
|
|
|
# check if there are no more tests
|
|
zndsl_files=($BRIDGE_TESTS_FOLDER/$TEST_PREFIX-*.zndsl)
|
|
if [ ${#zndsl_files[@]} -eq 0 ]; then
|
|
break
|
|
fi
|
|
|
|
# start tests
|
|
for zndsl_file in "${zndsl_files[@]}"; do
|
|
start_coproc "$ZOMBIENET_BINARY_PATH --provider native test $zndsl_file" "$zndsl_file"
|
|
echo -n "1">>$TEST_FOLDER/exit-sync
|
|
((TEST_COPROCS_COUNT++))
|
|
done
|
|
# wait until all tests are completed
|
|
for n in `seq 1 $TEST_COPROCS_COUNT`; do
|
|
if [ "$IS_BASH_5_1" -eq 1 ]; then
|
|
wait -n -p COPROC_PID
|
|
exit_code=$?
|
|
coproc_name=${TEST_COPROCS[$COPROC_PID, 0]}
|
|
coproc_log=${TEST_COPROCS[$COPROC_PID, 1]}
|
|
coproc_stdout=$(cat $coproc_log)
|
|
else
|
|
wait -n
|
|
exit_code=$?
|
|
coproc_name="<unknown>"
|
|
coproc_stdout="<unknown>"
|
|
fi
|
|
echo "Process $coproc_name has finished with exit code: $exit_code"
|
|
|
|
# if exit code is not zero, exit
|
|
if [ $exit_code -ne 0 ]; then
|
|
echo "====================================================================="
|
|
echo "=== Shutting down. Log of failed process below ==="
|
|
echo "====================================================================="
|
|
echo "$coproc_stdout"
|
|
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# proceed to next index
|
|
((TEST_INDEX++))
|
|
if [ "$TEST_INDEX" -ge "$TESTS_END" ]; then
|
|
break
|
|
fi
|
|
|
|
# kill relay here - it is started manually by tests
|
|
killall substrate-relay
|
|
done
|
|
|
|
echo "====================================================================="
|
|
echo "=== All tests have completed successfully ==="
|
|
echo "====================================================================="
|