From 31844e4fe2e595f424b64fcf7989c5b4c71e80ca Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 31 Jan 2025 09:45:13 +0100 Subject: [PATCH] fix tests --- satrs-minisim/src/acs.rs | 20 +++++++++++--------- satrs-minisim/src/controller.rs | 2 +- satrs-minisim/src/eps.rs | 8 ++++---- satrs-minisim/src/test_helpers.rs | 11 +++++++---- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/satrs-minisim/src/acs.rs b/satrs-minisim/src/acs.rs index 0b1a987..46a5753 100644 --- a/satrs-minisim/src/acs.rs +++ b/satrs-minisim/src/acs.rs @@ -199,7 +199,7 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply = sim_testbench.try_receive_next_reply(); assert!(sim_reply.is_some()); let sim_reply = sim_reply.unwrap(); @@ -222,21 +222,21 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let mut sim_reply_res = sim_testbench.try_receive_next_reply(); assert!(sim_reply_res.is_some()); let mut sim_reply = sim_reply_res.unwrap(); assert_eq!(sim_reply.component(), SimComponent::MgmLis3Mdl); let first_reply = MgmLis3MdlReply::from_sim_message(&sim_reply) .expect("failed to deserialize MGM sensor values"); - sim_testbench.step_by(Duration::from_millis(50)); + sim_testbench.step_until(Duration::from_millis(50)).unwrap(); request = SimRequest::new_with_epoch_time(MgmRequestLis3Mdl::RequestSensorData); sim_testbench .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); sim_reply_res = sim_testbench.try_receive_next_reply(); assert!(sim_reply_res.is_some()); sim_reply = sim_reply_res.unwrap(); @@ -271,7 +271,7 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply_res = sim_testbench.try_receive_next_reply(); assert!(sim_reply_res.is_none()); } @@ -286,7 +286,7 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply_res = sim_testbench.try_receive_next_reply(); assert!(sim_reply_res.is_some()); let sim_reply = sim_reply_res.unwrap(); @@ -307,7 +307,7 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply_res = sim_testbench.try_receive_next_reply(); assert!(sim_reply_res.is_some()); let sim_reply = sim_reply_res.unwrap(); @@ -338,7 +338,7 @@ pub mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step_by(Duration::from_millis(5)); + sim_testbench.step_until(Duration::from_millis(5)).unwrap(); check_mgt_hk( &mut sim_testbench, @@ -347,7 +347,9 @@ pub mod tests { torquing: true, }, ); - sim_testbench.step_by(Duration::from_millis(100)); + sim_testbench + .step_until(Duration::from_millis(100)) + .unwrap(); check_mgt_hk( &mut sim_testbench, MgtHkSet { diff --git a/satrs-minisim/src/controller.rs b/satrs-minisim/src/controller.rs index e3f1544..a04b239 100644 --- a/satrs-minisim/src/controller.rs +++ b/satrs-minisim/src/controller.rs @@ -231,7 +231,7 @@ mod tests { .send_request(request) .expect("sending sim ctrl request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply = sim_testbench.try_receive_next_reply(); assert!(sim_reply.is_some()); let sim_reply = sim_reply.unwrap(); diff --git a/satrs-minisim/src/eps.rs b/satrs-minisim/src/eps.rs index 53745af..e68e5c1 100644 --- a/satrs-minisim/src/eps.rs +++ b/satrs-minisim/src/eps.rs @@ -91,7 +91,7 @@ pub(crate) mod tests { .send_request(request) .expect("sending MGM switch request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); } #[allow(dead_code)] @@ -112,7 +112,7 @@ pub(crate) mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step(); + sim_testbench.step().unwrap(); let sim_reply = sim_testbench.try_receive_next_reply(); assert!(sim_reply.is_some()); let sim_reply = sim_reply.unwrap(); @@ -142,12 +142,12 @@ pub(crate) mod tests { .send_request(request) .expect("sending MGM request failed"); sim_testbench.handle_sim_requests_time_agnostic(); - sim_testbench.step_by(Duration::from_millis(1)); + sim_testbench.step_until(Duration::from_millis(1)).unwrap(); let sim_reply = sim_testbench.try_receive_next_reply(); assert!(sim_reply.is_none()); // Reply takes 20ms - sim_testbench.step_by(Duration::from_millis(25)); + sim_testbench.step_until(Duration::from_millis(25)).unwrap(); let sim_reply = sim_testbench.try_receive_next_reply(); assert!(sim_reply.is_some()); let sim_reply = sim_reply.unwrap(); diff --git a/satrs-minisim/src/test_helpers.rs b/satrs-minisim/src/test_helpers.rs index a4459df..398d925 100644 --- a/satrs-minisim/src/test_helpers.rs +++ b/satrs-minisim/src/test_helpers.rs @@ -1,7 +1,10 @@ use delegate::delegate; -use std::{sync::mpsc, time::Duration}; +use std::sync::mpsc; -use asynchronix::time::MonotonicTime; +use nexosim::{ + simulation::ExecutionError, + time::{Deadline, MonotonicTime}, +}; use satrs_minisim::{SimReply, SimRequest}; use crate::{controller::SimController, create_sim_controller, ThreadingModel}; @@ -35,8 +38,8 @@ impl SimTestbench { pub fn handle_sim_requests(&mut self, old_timestamp: MonotonicTime); } to self.sim_controller.simulation { - pub fn step(&mut self); - pub fn step_by(&mut self, duration: Duration); + pub fn step(&mut self) -> Result<(), ExecutionError>; + pub fn step_until(&mut self, duration: impl Deadline) -> Result<(), ExecutionError>; } }