mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 16:21:02 +00:00
59b4d6511f
* Implement PVF validation host * WIP: Diener * Increase the alloted compilation time * Add more comments * Minor clean up * Apply suggestions from code review Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Fix pruning artifact removal * Fix formatting and newlines * Fix the thread pool * Update node/core/pvf/src/executor_intf.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Remove redundant test declaration * Don't convert the path into an intermediate string * Try to workaround the test failure * Use the puppet_worker trick again * Fix a blip * Move `ensure_wasmtime_version` under the tests mod * Add a macro for puppet_workers * fix build for not real-overseer * Rename the puppet worker for adder collator * play it safe with the name of adder puppet worker * Typo: triggered * Add more comments * Do not kill exec worker on every error * Plumb Duration for timeouts * typo: critical * Add proofs * Clean unused imports * Revert "WIP: Diener" This reverts commit b9f54e513366c7a6dfdd117ac19fbdc46b900b4d. * Sync version of wasmtime * Update cargo.lock * Update Substrate * Merge fixes still * Update wasmtime version in test * bastifmt Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Squash spaces * Trailing new line for testing.rs * Remove controversial code * comment about biasing * Fix suggestion * Add comments * make it more clear why unwrap_err * tmpfile retry * proper proofs for claim_idle * Remove mutex from ValidationHost * Add some more logging * Extract exec timeout into a constant * Add some clarifying logging * Use blake2_256 * Clean up the merge Specifically the leftovers after removing real-overseer * Update parachain/test-parachains/adder/collator/Cargo.toml Co-authored-by: Andronik Ordian <write@reusable.software> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Andronik Ordian <write@reusable.software>
91 lines
2.6 KiB
Rust
91 lines
2.6 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.
|
|
|
|
const PUPPET_EXE: &str = env!("CARGO_BIN_EXE_adder_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_adder_collator(task_executor: sc_service::TaskExecutor) {
|
|
use sp_keyring::AccountKeyring::*;
|
|
use futures::join;
|
|
use polkadot_primitives::v1::Id as ParaId;
|
|
|
|
let mut builder = sc_cli::LoggerBuilder::new("");
|
|
builder.with_colors(false);
|
|
builder.init().expect("Set up logger");
|
|
|
|
let para_id = ParaId::from(100);
|
|
|
|
// start alice
|
|
let alice = polkadot_test_service::run_validator_node(
|
|
task_executor.clone(),
|
|
Alice, || {},
|
|
vec![],
|
|
Some(PUPPET_EXE.into()),
|
|
);
|
|
|
|
// start bob
|
|
let bob = polkadot_test_service::run_validator_node(
|
|
task_executor.clone(),
|
|
Bob,
|
|
|| {},
|
|
vec![alice.addr.clone()],
|
|
Some(PUPPET_EXE.into()),
|
|
);
|
|
|
|
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_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;
|
|
|
|
join!(
|
|
alice.task_manager.clean_shutdown(),
|
|
bob.task_manager.clean_shutdown(),
|
|
charlie.task_manager.clean_shutdown(),
|
|
);
|
|
}
|