mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 05:11:02 +00:00
Cumulus test service cleanup (#2887)
closes #2567 Followup for https://github.com/paritytech/polkadot-sdk/pull/2331 This PR contains multiple internal cleanups: 1. This gets rid of the functionality in `generate_genesis_block` which was only used in one benchmark 2. Fixed `transaction_pool` and `transaction_throughput` benchmarks failing since they require a tokio runtime now. 3. Removed `parachain_id` CLI option from the test parachain 4. Removed `expect` call from `RuntimeResolver`
This commit is contained in:
@@ -60,29 +60,29 @@ enum Runtime {
|
||||
}
|
||||
|
||||
trait RuntimeResolver {
|
||||
fn runtime(&self) -> Runtime;
|
||||
fn runtime(&self) -> Result<Runtime>;
|
||||
}
|
||||
|
||||
impl RuntimeResolver for dyn ChainSpec {
|
||||
fn runtime(&self) -> Runtime {
|
||||
runtime(self.id())
|
||||
fn runtime(&self) -> Result<Runtime> {
|
||||
Ok(runtime(self.id()))
|
||||
}
|
||||
}
|
||||
|
||||
/// Implementation, that can resolve [`Runtime`] from any json configuration file
|
||||
impl RuntimeResolver for PathBuf {
|
||||
fn runtime(&self) -> Runtime {
|
||||
fn runtime(&self) -> Result<Runtime> {
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
struct EmptyChainSpecWithId {
|
||||
id: String,
|
||||
}
|
||||
|
||||
let file = std::fs::File::open(self).expect("Failed to open file");
|
||||
let file = std::fs::File::open(self)?;
|
||||
let reader = std::io::BufReader::new(file);
|
||||
let chain_spec: EmptyChainSpecWithId = serde_json::from_reader(reader)
|
||||
.expect("Failed to read 'json' file with ChainSpec configuration");
|
||||
let chain_spec: EmptyChainSpecWithId =
|
||||
serde_json::from_reader(reader).map_err(|e| sc_cli::Error::Application(Box::new(e)))?;
|
||||
|
||||
runtime(&chain_spec.id)
|
||||
Ok(runtime(&chain_spec.id))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -394,7 +394,7 @@ impl SubstrateCli for RelayChainCli {
|
||||
/// Creates partial components for the runtimes that are supported by the benchmarks.
|
||||
macro_rules! construct_partials {
|
||||
($config:expr, |$partials:ident| $code:expr) => {
|
||||
match $config.chain_spec.runtime() {
|
||||
match $config.chain_spec.runtime()? {
|
||||
Runtime::AssetHubPolkadot => {
|
||||
let $partials = new_partial::<AssetHubPolkadotRuntimeApi, _>(
|
||||
&$config,
|
||||
@@ -444,7 +444,7 @@ macro_rules! construct_partials {
|
||||
macro_rules! construct_async_run {
|
||||
(|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{
|
||||
let runner = $cli.create_runner($cmd)?;
|
||||
match runner.config().chain_spec.runtime() {
|
||||
match runner.config().chain_spec.runtime()? {
|
||||
Runtime::AssetHubPolkadot => {
|
||||
runner.async_run(|$config| {
|
||||
let $components = new_partial::<AssetHubPolkadotRuntimeApi, _>(
|
||||
@@ -686,7 +686,7 @@ pub fn run() -> Result<()> {
|
||||
info!("Parachain Account: {}", parachain_account);
|
||||
info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" });
|
||||
|
||||
match config.chain_spec.runtime() {
|
||||
match config.chain_spec.runtime()? {
|
||||
AssetHubPolkadot => crate::service::start_asset_hub_node::<
|
||||
AssetHubPolkadotRuntimeApi,
|
||||
AssetHubPolkadotAuraId,
|
||||
@@ -1032,30 +1032,30 @@ mod tests {
|
||||
&temp_dir,
|
||||
Box::new(create_default_with_extensions("shell-1", Extensions1::default())),
|
||||
);
|
||||
assert_eq!(Runtime::Shell, path.runtime());
|
||||
assert_eq!(Runtime::Shell, path.runtime().unwrap());
|
||||
|
||||
let path = store_configuration(
|
||||
&temp_dir,
|
||||
Box::new(create_default_with_extensions("shell-2", Extensions2::default())),
|
||||
);
|
||||
assert_eq!(Runtime::Shell, path.runtime());
|
||||
assert_eq!(Runtime::Shell, path.runtime().unwrap());
|
||||
|
||||
let path = store_configuration(
|
||||
&temp_dir,
|
||||
Box::new(create_default_with_extensions("seedling", Extensions2::default())),
|
||||
);
|
||||
assert_eq!(Runtime::Seedling, path.runtime());
|
||||
assert_eq!(Runtime::Seedling, path.runtime().unwrap());
|
||||
|
||||
let path = store_configuration(
|
||||
&temp_dir,
|
||||
Box::new(crate::chain_spec::rococo_parachain::rococo_parachain_local_config()),
|
||||
);
|
||||
assert_eq!(Runtime::Default, path.runtime());
|
||||
assert_eq!(Runtime::Default, path.runtime().unwrap());
|
||||
|
||||
let path = store_configuration(
|
||||
&temp_dir,
|
||||
Box::new(crate::chain_spec::contracts::contracts_rococo_local_config()),
|
||||
);
|
||||
assert_eq!(Runtime::ContractsRococo, path.runtime());
|
||||
assert_eq!(Runtime::ContractsRococo, path.runtime().unwrap());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user