zombienet: BEEFY and MMR test (#5840)

Signed-off-by: acatangiu <adrian@parity.io>
This commit is contained in:
Adrian Catangiu
2022-08-04 10:27:17 +03:00
committed by GitHub
parent b065b4364c
commit 8d1bba18af
3 changed files with 83 additions and 2 deletions
+27 -2
View File
@@ -32,7 +32,7 @@ variables:
CI_IMAGE: "paritytech/ci-linux:production" CI_IMAGE: "paritytech/ci-linux:production"
DOCKER_OS: "debian:stretch" DOCKER_OS: "debian:stretch"
ARCH: "x86_64" ARCH: "x86_64"
ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.2.25" ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.2.50"
PIPELINE_SCRIPTS_TAG: "v0.4" PIPELINE_SCRIPTS_TAG: "v0.4"
default: default:
@@ -827,7 +827,7 @@ zombienet-tests-malus-dispute-valid:
zombienet-tests-deregister-register-validator: zombienet-tests-deregister-register-validator:
stage: stage3 stage: stage3
image: "docker.io/paritytech/zombienet:v1.2.47" image: "${ZOMBIENET_IMAGE}"
<<: *kubernetes-env <<: *kubernetes-env
<<: *zombienet-refs <<: *zombienet-refs
needs: needs:
@@ -852,6 +852,31 @@ zombienet-tests-deregister-register-validator:
tags: tags:
- zombienet-polkadot-integration-test - zombienet-polkadot-integration-test
zombienet-tests-beefy-and-mmr:
stage: stage3
<<: *kubernetes-env
<<: *zombienet-refs
image: "${ZOMBIENET_IMAGE}"
needs:
- job: publish-polkadot-debug-image
variables:
GH_DIR: "https://github.com/paritytech/polkadot/tree/${CI_COMMIT_SHORT_SHA}/zombienet_tests/functional"
before_script:
- echo "Zombie-net Tests Config"
- echo "${ZOMBIENET_IMAGE_NAME}"
- echo "${PARACHAINS_IMAGE_NAME} ${PARACHAINS_IMAGE_TAG}"
- echo "${GH_DIR}"
- export DEBUG=zombie*
- export ZOMBIENET_INTEGRATION_TEST_IMAGE=${PARACHAINS_IMAGE_NAME}:${PARACHAINS_IMAGE_TAG}
script:
- /home/nonroot/zombie-net/scripts/ci/run-test-env-manager.sh
--github-remote-dir="${GH_DIR}"
--test="0003-beefy-and-mmr.feature"
allow_failure: true
retry: 2
tags:
- zombienet-polkadot-integration-test
#### stage: stage4 #### stage: stage4
publish-rustdoc: publish-rustdoc:
@@ -0,0 +1,44 @@
Description: Test BEEFY voting and finality, test MMR proofs. Assumes Rococo sessions of 1 minute.
Network: ./0003-beefy-and-mmr.toml
Creds: config
# Some sanity checks.
validator-0: is up
validator-1: is up
validator-2: is up
# Check authority status.
validator-0: reports node_roles is 4
validator-1: reports node_roles is 4
validator-2: reports node_roles is 4
# BEEFY sanity checks.
validator-0: reports substrate_beefy_validator_set_id is 0
validator-1: reports substrate_beefy_validator_set_id is 0
validator-2: reports substrate_beefy_validator_set_id is 0
# Verify voting happens and 1st mandatory block is finalized within 1st session.
validator-0: reports substrate_beefy_best_block is at least 1 within 60 seconds
validator-1: reports substrate_beefy_best_block is at least 1 within 60 seconds
validator-2: reports substrate_beefy_best_block is at least 1 within 60 seconds
# Verify validator sets get changed on new sessions.
validator-0: reports substrate_beefy_validator_set_id is at least 1 within 70 seconds
validator-1: reports substrate_beefy_validator_set_id is at least 1 within 70 seconds
validator-2: reports substrate_beefy_validator_set_id is at least 1 within 70 seconds
# Check next session too.
validator-0: reports substrate_beefy_validator_set_id is at least 2 within 130 seconds
validator-1: reports substrate_beefy_validator_set_id is at least 2 within 130 seconds
validator-2: reports substrate_beefy_validator_set_id is at least 2 within 130 seconds
# Verify voting happens and blocks are being finalized for new sessions too:
# since we verified we're at least in the 3rd session, verify BEEFY finalized mandatory #21.
validator-0: reports substrate_beefy_best_block is at least 21 within 130 seconds
validator-1: reports substrate_beefy_best_block is at least 21 within 130 seconds
validator-2: reports substrate_beefy_best_block is at least 21 within 130 seconds
# TODO 1: Custom JS to test BEEFY RPCs
# TODO 2: Custom JS to test MMR RPCs
# TODO 3: once zombienet/#227 is implemented: pause+resume nodes to test Justifications Import
@@ -0,0 +1,12 @@
[settings]
timeout = 1000
[relaychain]
default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}"
chain = "rococo-local"
command = "polkadot"
[[relaychain.node_groups]]
name = "validator"
count = 3
args = ["--log=beefy=debug", "--beefy", "--enable-offchain-indexing=true"]