Skip to content

Commit 56c85a7

Browse files
author
lif
committed
WIP: fix test_instance_serial to poll for running state
1 parent 5c62815 commit 56c85a7

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

nexus/tests/integration_tests/instances.rs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ use sled_agent_client::TestInterfaces as _;
6565
use std::convert::TryFrom;
6666
use std::net::Ipv4Addr;
6767
use std::sync::Arc;
68+
use std::time::Duration;
6869
use uuid::Uuid;
6970

7071
use dropshot::test_util::ClientTestContext;
@@ -77,6 +78,8 @@ use nexus_test_utils::resource_helpers::{
7778
use nexus_test_utils_macros::nexus_test;
7879
use nexus_types::external_api::shared::SiloRole;
7980
use omicron_sled_agent::sim;
81+
use omicron_test_utils::dev::poll;
82+
use omicron_test_utils::dev::poll::CondCheckError;
8083

8184
type ControlPlaneTestContext =
8285
nexus_test_utils::ControlPlaneTestContext<omicron_nexus::Server>;
@@ -3537,10 +3540,22 @@ async fn test_instance_serial(cptestctx: &ControlPlaneTestContext) {
35373540

35383541
// Create an instance and poke it to ensure it's running.
35393542
let instance = create_instance(client, PROJECT_NAME, instance_name).await;
3540-
instance_simulate(nexus, &instance.identity.id).await;
3541-
let instance_next = instance_get(&client, &instance_url).await;
3543+
let instance_next = poll::wait_for_condition(
3544+
|| async {
3545+
instance_simulate(nexus, &instance.identity.id).await;
3546+
let instance_next = instance_get(&client, &instance_url).await;
3547+
if instance_next.runtime.run_state == InstanceState::Running {
3548+
Ok(instance_next)
3549+
} else {
3550+
Err(CondCheckError::<()>::NotYet)
3551+
}
3552+
},
3553+
&Duration::from_secs(5),
3554+
&Duration::from_secs(60),
3555+
)
3556+
.await
3557+
.unwrap();
35423558
identity_eq(&instance.identity, &instance_next.identity);
3543-
assert_eq!(instance_next.runtime.run_state, InstanceState::Running);
35443559
assert!(
35453560
instance_next.runtime.time_run_state_updated
35463561
> instance.runtime.time_run_state_updated

0 commit comments

Comments
 (0)