mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 08:11:03 +00:00
Zombienet: add new test collator and integration test (#4797)
* WIP: Wasm compilation perf Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Fix Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Undying collator WIP Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Fix build Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * more fixes Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * update test with undying Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Correctly compute post hash Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * update helper Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * squash bugs Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Add --pov-size cli parameter Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * refactor Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix strings Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Add pov-size param to export genesis state Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Fix graveyard size Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * docs + fmt Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Fix PVF bug and switch to u8 graves Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Update tests Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Build/publish undying collator as colander img Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * add undying-collator to colander image * Fix transaction overflow Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * warn fix Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * add parachain id for export genesis cli Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix the build Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * scale test up Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * default parachain id Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Add PVF complexity param Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Hash on each iteration Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Update pvf metric histogram buckets Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Ladi attempt to fix tests * Fix test * Fix typos * Fix pvf typo * CI integration Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * cargo lock missing Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix clap merge damage Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * add zombienet image back Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Use collator image from env Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * bump zombienet version * update test to check pvf prep/exec Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * delete file Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * use default bootnode in upgrade test * FIx tests Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * add some stress - pvf exec times up to 2s Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix name Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Dial down pvf execution time < 2s Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * 1100 Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * bump Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * try again Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Add connectivity check Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Fixes and refactor folder struct Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * change toml name to match Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * bump zombienet Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * impl Feedback for Review 😎 Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * spell check Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Zombienet: add disputes test (#4859) * Zombienet disputes test Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * CI: add zombienet-parachain-disputes Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Bump zombienet Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * reduce duration Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Update zombienet_tests/functional/0002-parachains-disputes.feature fix test * Update zombienet_tests/functional/0002-parachains-disputes.feature fix fix * more logs and set collator image Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * spellcheck Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix cargo lock damage Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * merge fixes Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * bump zombienet image Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * cargo lock Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * debugging CI run - scale down test Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * fix cargo merge damage Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * default command fix Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> * Revert "debugging CI run - scale down test" This reverts commit eec2ba7e65ede3f929e2f0a8fe44930df2119450. * more review feedback Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> Co-authored-by: Javier Viola <javier@parity.io> Co-authored-by: Lldenaurois <Ljdenaurois@gmail.com>
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
// Copyright 2020 Parity Technologies (UK) Ltd.
|
||||
// This file is part of Polkadot.
|
||||
|
||||
// Polkadot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Polkadot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Integration test that ensures that we can build and include parachain
|
||||
//! blocks of the `Undying` parachain.
|
||||
|
||||
const PUPPET_EXE: &str = env!("CARGO_BIN_EXE_undying_collator_puppet_worker");
|
||||
|
||||
// If this test is failing, make sure to run all tests with the `real-overseer` feature being enabled.
|
||||
#[substrate_test_utils::test]
|
||||
async fn collating_using_undying_collator() {
|
||||
use polkadot_primitives::v1::Id as ParaId;
|
||||
use sp_keyring::AccountKeyring::*;
|
||||
|
||||
let mut builder = sc_cli::LoggerBuilder::new("");
|
||||
builder.with_colors(false);
|
||||
builder.init().expect("Set up logger");
|
||||
|
||||
let para_id = ParaId::from(100);
|
||||
|
||||
let alice_config = polkadot_test_service::node_config(
|
||||
|| {},
|
||||
tokio::runtime::Handle::current(),
|
||||
Alice,
|
||||
Vec::new(),
|
||||
true,
|
||||
);
|
||||
|
||||
// start alice
|
||||
let alice = polkadot_test_service::run_validator_node(alice_config, Some(PUPPET_EXE.into()));
|
||||
|
||||
let bob_config = polkadot_test_service::node_config(
|
||||
|| {},
|
||||
tokio::runtime::Handle::current(),
|
||||
Bob,
|
||||
vec![alice.addr.clone()],
|
||||
true,
|
||||
);
|
||||
|
||||
// start bob
|
||||
let bob = polkadot_test_service::run_validator_node(bob_config, Some(PUPPET_EXE.into()));
|
||||
|
||||
let collator = test_parachain_undying_collator::Collator::new(1_000, 1);
|
||||
|
||||
// register parachain
|
||||
alice
|
||||
.register_parachain(para_id, collator.validation_code().to_vec(), collator.genesis_head())
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
// run the collator node
|
||||
let mut charlie = polkadot_test_service::run_collator_node(
|
||||
tokio::runtime::Handle::current(),
|
||||
Charlie,
|
||||
|| {},
|
||||
vec![alice.addr.clone(), bob.addr.clone()],
|
||||
collator.collator_key(),
|
||||
);
|
||||
|
||||
charlie
|
||||
.register_collator(
|
||||
collator.collator_key(),
|
||||
para_id,
|
||||
collator.create_collation_function(charlie.task_manager.spawn_handle()),
|
||||
)
|
||||
.await;
|
||||
|
||||
// Wait until the parachain has 4 blocks produced.
|
||||
collator.wait_for_blocks(4).await;
|
||||
|
||||
// Wait until the collator received `12` seconded statements for its collations.
|
||||
collator.wait_for_seconded_collations(12).await;
|
||||
}
|
||||
Reference in New Issue
Block a user