From 2e071b538f4f9724eda20dfb895ceb38ea15dc4b Mon Sep 17 00:00:00 2001 From: Sergio Chouhy Date: Thu, 29 Jan 2026 15:56:06 -0300 Subject: [PATCH] drop retry pending block handle on Drop --- integration_tests/src/lib.rs | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/integration_tests/src/lib.rs b/integration_tests/src/lib.rs index 5d810166..21e1ca81 100644 --- a/integration_tests/src/lib.rs +++ b/integration_tests/src/lib.rs @@ -40,6 +40,7 @@ static LOGGER: LazyLock<()> = LazyLock::new(env_logger::init); pub struct TestContext { sequencer_server_handle: ServerHandle, sequencer_loop_handle: JoinHandle>, + sequencer_retry_pending_blocks_handle: JoinHandle>, indexer_loop_handle: Option>>, sequencer_client: SequencerClient, wallet: WalletCore, @@ -94,10 +95,15 @@ impl TestContext { debug!("Test context setup"); - let (sequencer_server_handle, sequencer_addr, sequencer_loop_handle, temp_sequencer_dir) = - Self::setup_sequencer(sequencer_config) - .await - .context("Failed to setup sequencer")?; + let ( + sequencer_server_handle, + sequencer_addr, + sequencer_loop_handle, + sequencer_retry_pending_blocks_handle, + temp_sequencer_dir, + ) = Self::setup_sequencer(sequencer_config) + .await + .context("Failed to setup sequencer")?; // Convert 0.0.0.0 to 127.0.0.1 for client connections // When binding to port 0, the server binds to 0.0.0.0: @@ -130,6 +136,7 @@ impl TestContext { Ok(Self { sequencer_server_handle, sequencer_loop_handle, + sequencer_retry_pending_blocks_handle, indexer_loop_handle, sequencer_client, wallet, @@ -140,6 +147,7 @@ impl TestContext { Ok(Self { sequencer_server_handle, sequencer_loop_handle, + sequencer_retry_pending_blocks_handle, indexer_loop_handle: None, sequencer_client, wallet, @@ -151,7 +159,13 @@ impl TestContext { async fn setup_sequencer( mut config: SequencerConfig, - ) -> Result<(ServerHandle, SocketAddr, JoinHandle>, TempDir)> { + ) -> Result<( + ServerHandle, + SocketAddr, + JoinHandle>, + JoinHandle>, + TempDir, + )> { let temp_sequencer_dir = tempfile::tempdir().context("Failed to create temp dir for sequencer home")?; @@ -167,13 +181,14 @@ impl TestContext { sequencer_server_handle, sequencer_addr, sequencer_loop_handle, - _retry_pending_blocks_handle, + sequencer_retry_pending_blocks_handle, ) = sequencer_runner::startup_sequencer(config).await?; Ok(( sequencer_server_handle, sequencer_addr, sequencer_loop_handle, + sequencer_retry_pending_blocks_handle, temp_sequencer_dir, )) } @@ -234,6 +249,7 @@ impl Drop for TestContext { let Self { sequencer_server_handle, sequencer_loop_handle, + sequencer_retry_pending_blocks_handle, indexer_loop_handle, sequencer_client: _, wallet: _, @@ -242,6 +258,7 @@ impl Drop for TestContext { } = self; sequencer_loop_handle.abort(); + sequencer_retry_pending_blocks_handle.abort(); if let Some(indexer_loop_handle) = indexer_loop_handle { indexer_loop_handle.abort(); }