aboutsummaryrefslogtreecommitdiff
path: root/src/garage/tests/common/garage.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2023-03-13 10:48:47 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2023-03-13 15:06:05 +0100
commit2687fb7fa80f645a2e29822d60e8970433788889 (patch)
tree5ca69de2ca6a5ecf8a9840771baef62b3e7ac592 /src/garage/tests/common/garage.rs
parent24e43f1aa0553686f9dace5d839b717cf634bf6c (diff)
downloadgarage-2687fb7fa80f645a2e29822d60e8970433788889.tar.gz
garage-2687fb7fa80f645a2e29822d60e8970433788889.zip
do not assume Garage boots in 2sec during tests
Diffstat (limited to 'src/garage/tests/common/garage.rs')
-rw-r--r--src/garage/tests/common/garage.rs25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/garage/tests/common/garage.rs b/src/garage/tests/common/garage.rs
index 8f994f49..d64a8310 100644
--- a/src/garage/tests/common/garage.rs
+++ b/src/garage/tests/common/garage.rs
@@ -111,16 +111,29 @@ api_bind_addr = "127.0.0.1:{admin_port}"
}
fn setup(&mut self) {
- use std::{thread, time::Duration};
-
- // Wait for node to be ready
- thread::sleep(Duration::from_secs(2));
-
+ self.wait_for_boot();
self.setup_layout();
-
self.key = self.new_key("garage_test");
}
+ fn wait_for_boot(&mut self) {
+ use std::{thread, time::Duration};
+
+ // 60 * 2 seconds = 120 seconds = 2min
+ for _ in 0..60 {
+ let termination = self
+ .command()
+ .args(["status"])
+ .quiet()
+ .status()
+ .expect("Unable to run command");
+ if termination.success() {
+ break;
+ }
+ thread::sleep(Duration::from_secs(2));
+ }
+ }
+
fn setup_layout(&self) {
let node_id = self.node_id();
let node_short_id = &node_id[..64];