Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

zombienet: add BEEFY justifications import test #5855

Merged
merged 8 commits into from
Sep 8, 2022
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ variables:
CI_IMAGE: "paritytech/ci-linux:production"
DOCKER_OS: "debian:stretch"
ARCH: "x86_64"
ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.2.51"
ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.2.52"
PIPELINE_SCRIPTS_TAG: "v0.4"

default:
Expand Down
20 changes: 16 additions & 4 deletions zombienet_tests/functional/0003-beefy-and-mmr.feature
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,28 @@ Creds: config
validator-0: is up
validator-1: is up
validator-2: is up
validator-3: 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
validator-3: 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
validator-3: 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
validator-3: reports substrate_beefy_best_block is at least 1 within 60 seconds

# Pause validator-3 and test chain is making progress without it.
acatangiu marked this conversation as resolved.
Show resolved Hide resolved
validator-3: pause

# Verify validator sets get changed on new sessions.
validator-0: reports substrate_beefy_validator_set_id is at least 1 within 70 seconds
Expand All @@ -37,8 +44,13 @@ validator-0: reports substrate_beefy_best_block is at least 21 within 130 second
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 (issue #11972): Custom JS to test BEEFY RPCs
# TODO (issue #11972): Custom JS to test MMR RPCs

# TODO 3: once zombienet/#227 is implemented: pause+resume nodes to test Justifications Import
# Check that validator-3 is still paused somewhere in 1st session.
validator-3: reports substrate_beefy_validator_set_id is 0
acatangiu marked this conversation as resolved.
Show resolved Hide resolved
validator-3: reports substrate_beefy_validator_set_id is lower than 11
# Resume validator-3 and verify it imports all BEEFY justification and catches up.
validator-3: resume
validator-3: reports substrate_beefy_validator_set_id is at least 2 within 30 seconds
validator-3: reports substrate_beefy_best_block is at least 21 within 30 seconds
2 changes: 1 addition & 1 deletion zombienet_tests/functional/0003-beefy-and-mmr.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ command = "polkadot"

[[relaychain.node_groups]]
name = "validator"
count = 3
count = 4
args = ["--log=beefy=debug", "--beefy", "--enable-offchain-indexing=true"]