mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 08:11:03 +00:00
75da335d66
This test can only pass given that feature, and runs forever otherwise. This change ensure that a careless `cargo test --all` doesn't run forever.
75 lines
2.3 KiB
Rust
75 lines
2.3 KiB
Rust
// 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 adder parachain.
|
|
|
|
// If this test is failing, make sure to run all tests with the `real-overseer` feature being enabled.
|
|
#[substrate_test_utils::test]
|
|
#[cfg(feature = "real-overseer")]
|
|
async fn collating_using_adder_collator(task_executor: sc_service::TaskExecutor) {
|
|
use sp_keyring::AccountKeyring::*;
|
|
use futures::join;
|
|
use polkadot_primitives::v1::Id as ParaId;
|
|
|
|
sc_cli::init_logger("", Default::default(), None).expect("Sets up logger");
|
|
|
|
let para_id = ParaId::from(100);
|
|
|
|
// start alice
|
|
let alice = polkadot_test_service::run_validator_node(task_executor.clone(), Alice, || {}, vec![]);
|
|
|
|
// start bob
|
|
let bob = polkadot_test_service::run_validator_node(
|
|
task_executor.clone(),
|
|
Bob,
|
|
|| {},
|
|
vec![alice.addr.clone()],
|
|
);
|
|
|
|
let collator = test_parachain_adder_collator::Collator::new();
|
|
|
|
// 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(
|
|
task_executor.clone(),
|
|
Charlie,
|
|
|| {},
|
|
vec![alice.addr.clone(), bob.addr.clone()],
|
|
collator.collator_id(),
|
|
);
|
|
|
|
charlie.register_collator(collator.collator_key(), para_id, collator.create_collation_function()).await;
|
|
|
|
// Wait until the parachain has 4 blocks produced.
|
|
collator.wait_for_blocks(4).await;
|
|
|
|
join!(
|
|
alice.task_manager.clean_shutdown(),
|
|
bob.task_manager.clean_shutdown(),
|
|
charlie.task_manager.clean_shutdown(),
|
|
);
|
|
}
|