|
|
|
@@ -0,0 +1,55 @@
|
|
|
|
|
Description: Warp sync
|
|
|
|
|
Network: ./test-validators-warp-sync.toml
|
|
|
|
|
Creds: config
|
|
|
|
|
|
|
|
|
|
alice: reports node_roles is 4
|
|
|
|
|
bob: reports node_roles is 4
|
|
|
|
|
charlie: reports node_roles is 1
|
|
|
|
|
dave: reports node_roles is 1
|
|
|
|
|
eve: reports node_roles is 1
|
|
|
|
|
|
|
|
|
|
alice: reports peers count is at least 4 within 60 seconds
|
|
|
|
|
bob: reports peers count is at least 4 within 60 seconds
|
|
|
|
|
charlie: reports peers count is at least 4 within 60 seconds
|
|
|
|
|
dave: reports peers count is at least 4 within 60 seconds
|
|
|
|
|
eve: reports peers count is at least 4 within 60 seconds
|
|
|
|
|
|
|
|
|
|
# db snapshot has {{DB_BLOCK_HEIGHT}} blocks
|
|
|
|
|
charlie: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
|
|
|
|
|
dave: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
|
|
|
|
|
eve: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
|
|
|
|
|
|
|
|
|
|
alice: log line matches "Warp sync is complete" within 60 seconds
|
|
|
|
|
bob: log line matches "Warp sync is complete" within 60 seconds
|
|
|
|
|
# State sync is logically part of warp sync
|
|
|
|
|
alice: log line matches "State sync is complete" within 60 seconds
|
|
|
|
|
bob: log line matches "State sync is complete" within 60 seconds
|
|
|
|
|
|
|
|
|
|
alice: log line matches "Block history download is complete" within 120 seconds
|
|
|
|
|
bob: log line matches "Block history download is complete" within 120 seconds
|
|
|
|
|
|
|
|
|
|
alice: reports block height is at least {{DB_BLOCK_HEIGHT}} within 10 seconds
|
|
|
|
|
bob: reports block height is at least {{DB_BLOCK_HEIGHT}} within 10 seconds
|
|
|
|
|
|
|
|
|
|
# We can be in a case where finality is lagging. For example:
|
|
|
|
|
# Let's wait until finality works correctly.
|
|
|
|
|
alice: reports substrate_block_height{status="finalized"} is at least {{DB_BLOCK_HEIGHT}} within 120 seconds
|
|
|
|
|
bob: reports substrate_block_height{status="finalized"} is at least {{DB_BLOCK_HEIGHT}} within 120 seconds
|
|
|
|
|
|
|
|
|
|
# Make sure that BEEFY voting started.
|
|
|
|
|
alice: reports substrate_beefy_best_block is at least 1 within 60 seconds
|
|
|
|
|
bob: reports substrate_beefy_best_block is at least 1 within 60 seconds
|
|
|
|
|
# Make sure that BEEFY voting is advancing
|
|
|
|
|
# In the worst case scenario, the validators should vote on 1 mandatory block each 6 seconds. And 1 era = 200 blocks.
|
|
|
|
|
alice: reports substrate_beefy_best_block is at least {{200*180/6}} within 180 seconds
|
|
|
|
|
bob: reports substrate_beefy_best_block is at least {{200*180/6}} within 180 seconds
|
|
|
|
|
|
|
|
|
|
# Validators started without public addresses must emit an error.
|
|
|
|
|
# Double check the error is the expected one.
|
|
|
|
|
alice: log line matches "No public addresses configured and no global listen addresses found" within 60 seconds
|
|
|
|
|
alice: count of log lines containing "error" is 1 within 10 seconds
|
|
|
|
|
bob: count of log lines containing "verification failed" is 0 within 10 seconds
|
|
|
|
|
|
|
|
|
|
# new blocks were built
|
|
|
|
|
alice: reports block height is greater than {{DB_BLOCK_HEIGHT}} within 90 seconds
|
|
|
|
|
bob: reports block height is greater than {{DB_BLOCK_HEIGHT}} within 90 seconds
|