From edceb01538f6b566cca2cbcc74b5e024f4122c48 Mon Sep 17 00:00:00 2001 From: Guilherme Neubaner Date: Thu, 3 Aug 2023 12:47:17 +0000 Subject: [PATCH 1/2] cleanup S3 bucket using guard --- sqld/src/test/bottomless.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sqld/src/test/bottomless.rs b/sqld/src/test/bottomless.rs index 66e6ef95..c36a6d82 100644 --- a/sqld/src/test/bottomless.rs +++ b/sqld/src/test/bottomless.rs @@ -19,7 +19,7 @@ fn start_db(step: u32, config: &Config) -> JoinHandle<()> { }) } -#[tokio::test] +#[tokio::test(flavor = "multi_thread")] async fn backup_restore() { let _ = env_logger::builder().is_test(true).try_init(); const BUCKET: &str = "testbackuprestore"; @@ -192,7 +192,7 @@ async fn backup_restore() { } } -#[tokio::test] +#[tokio::test(flavor = "multi_thread")] async fn rollback_restore() { let _ = env_logger::builder().is_test(true).try_init(); const BUCKET: &str = "testrollbackrestore"; @@ -416,7 +416,8 @@ impl S3BucketCleaner { impl Drop for S3BucketCleaner { fn drop(&mut self) { - //FIXME: running line below on tokio::test runtime will hang. - //let _ = block_on(Self::cleanup(self.0)); + tokio::task::block_in_place(|| { + let _ = tokio::runtime::Handle::current().block_on(Self::cleanup(self.0)); + }); } } From b25fbe99fa4fa8a82e4d6097c2adc97ab8ee623d Mon Sep 17 00:00:00 2001 From: Guilherme Neubaner Date: Sun, 30 Jul 2023 13:23:28 -0300 Subject: [PATCH 2/2] use S3_URL for aws_endpoint --- sqld/src/test/bottomless.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sqld/src/test/bottomless.rs b/sqld/src/test/bottomless.rs index c36a6d82..ee5fc8a2 100644 --- a/sqld/src/test/bottomless.rs +++ b/sqld/src/test/bottomless.rs @@ -44,6 +44,7 @@ async fn backup_restore() { bucket_name: BUCKET.to_string(), max_batch_interval: Duration::from_millis(250), restore_transaction_page_swap_after: 1, // in this test swap should happen at least once + aws_endpoint: Some(S3_URL.to_string()), ..bottomless::replicator::Options::from_env().unwrap() }), db_path: PATH.into(), @@ -230,6 +231,7 @@ async fn rollback_restore() { bucket_name: BUCKET.to_string(), max_batch_interval: Duration::from_millis(250), restore_transaction_page_swap_after: 1, // in this test swap should happen at least once + aws_endpoint: Some(S3_URL.to_string()), ..bottomless::replicator::Options::from_env().unwrap() }), db_path: PATH.into(), @@ -417,7 +419,7 @@ impl S3BucketCleaner { impl Drop for S3BucketCleaner { fn drop(&mut self) { tokio::task::block_in_place(|| { - let _ = tokio::runtime::Handle::current().block_on(Self::cleanup(self.0)); + let _ = tokio::runtime::Handle::current().block_on(Self::cleanup(self.0)); }); } }