From 5bc065c5658bced08bc0cbb9e66a0818b9146336 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Fri, 11 Oct 2024 16:41:30 +0200 Subject: [PATCH 1/2] backend rpc tests: use background task --- .../integration-tests/src/light_client/mod.rs | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/testing/integration-tests/src/light_client/mod.rs b/testing/integration-tests/src/light_client/mod.rs index 45d66528a0..9823145686 100644 --- a/testing/integration-tests/src/light_client/mod.rs +++ b/testing/integration-tests/src/light_client/mod.rs @@ -178,27 +178,14 @@ async fn run_test(backend: BackendType) -> Result<(), subxt::Error> { // .unwrap(); // let chain_config = chainspec.get(); - tracing::trace!("Init light clinet"); + tracing::trace!("Init light client"); let now = std::time::Instant::now(); let (_lc, rpc) = LightClient::relay_chain(POLKADOT_SPEC)?; let api = match backend { BackendType::Unstable => { - let (backend, mut driver) = ChainHeadBackend::builder().build(RpcClient::new(rpc)); - tokio::spawn(async move { - while let Some(val) = driver.next().await { - if let Err(e) = val { - if e.is_disconnected_will_reconnect() { - tracing::info!( - "The RPC connection was lost and we may have missed a few blocks" - ); - continue; - } - - tracing::error!("Error driving unstable backend: {e}"); - } - } - }); + let (backend, mut driver) = + ChainHeadBackend::builder().build_with_background_driver(RpcClient::new(rpc)); let api: OnlineClient = OnlineClient::from_backend(Arc::new(backend)).await?; api From 8451f98372013c7ed13e8d357b5d5e74363227e1 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Mon, 14 Oct 2024 09:23:59 +0200 Subject: [PATCH 2/2] fix build --- testing/integration-tests/src/light_client/mod.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/testing/integration-tests/src/light_client/mod.rs b/testing/integration-tests/src/light_client/mod.rs index 9823145686..b14138bb26 100644 --- a/testing/integration-tests/src/light_client/mod.rs +++ b/testing/integration-tests/src/light_client/mod.rs @@ -29,7 +29,6 @@ use crate::utils::node_runtime; use codec::Compact; -use futures::StreamExt; use std::sync::Arc; use subxt::backend::chain_head::ChainHeadBackend; use subxt::backend::rpc::RpcClient; @@ -184,7 +183,7 @@ async fn run_test(backend: BackendType) -> Result<(), subxt::Error> { let api = match backend { BackendType::Unstable => { - let (backend, mut driver) = + let backend = ChainHeadBackend::builder().build_with_background_driver(RpcClient::new(rpc)); let api: OnlineClient = OnlineClient::from_backend(Arc::new(backend)).await?;