aboutsummaryrefslogtreecommitdiff
path: root/embassy-time/src/driver_mock.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-time/src/driver_mock.rs')
-rw-r--r--embassy-time/src/driver_mock.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/embassy-time/src/driver_mock.rs b/embassy-time/src/driver_mock.rs
index 5828dde41..bbb012f62 100644
--- a/embassy-time/src/driver_mock.rs
+++ b/embassy-time/src/driver_mock.rs
@@ -164,10 +164,19 @@ unsafe impl Send for AlarmState {}
164 164
165#[cfg(test)] 165#[cfg(test)]
166mod tests { 166mod tests {
167 use serial_test::serial;
168
167 use super::*; 169 use super::*;
168 170
171 fn setup() {
172 DRIVER.reset();
173 }
174
169 #[test] 175 #[test]
176 #[serial]
170 fn test_advance() { 177 fn test_advance() {
178 setup();
179
171 let driver = MockDriver::get(); 180 let driver = MockDriver::get();
172 let reference = driver.now(); 181 let reference = driver.now();
173 driver.advance(Duration::from_secs(1)); 182 driver.advance(Duration::from_secs(1));
@@ -175,14 +184,20 @@ mod tests {
175 } 184 }
176 185
177 #[test] 186 #[test]
187 #[serial]
178 fn test_set_alarm_not_in_future() { 188 fn test_set_alarm_not_in_future() {
189 setup();
190
179 let driver = MockDriver::get(); 191 let driver = MockDriver::get();
180 let alarm = unsafe { AlarmHandle::new(0) }; 192 let alarm = unsafe { AlarmHandle::new(0) };
181 assert_eq!(false, driver.set_alarm(alarm, driver.now())); 193 assert_eq!(false, driver.set_alarm(alarm, driver.now()));
182 } 194 }
183 195
184 #[test] 196 #[test]
197 #[serial]
185 fn test_alarm() { 198 fn test_alarm() {
199 setup();
200
186 let driver = MockDriver::get(); 201 let driver = MockDriver::get();
187 let alarm = unsafe { driver.allocate_alarm() }.expect("No alarms available"); 202 let alarm = unsafe { driver.allocate_alarm() }.expect("No alarms available");
188 static mut CALLBACK_CALLED: bool = false; 203 static mut CALLBACK_CALLED: bool = false;
@@ -195,7 +210,10 @@ mod tests {
195 } 210 }
196 211
197 #[test] 212 #[test]
213 #[serial]
198 fn test_allocate_alarm() { 214 fn test_allocate_alarm() {
215 setup();
216
199 let driver = MockDriver::get(); 217 let driver = MockDriver::get();
200 assert!(unsafe { driver.allocate_alarm() }.is_some()); 218 assert!(unsafe { driver.allocate_alarm() }.is_some());
201 assert!(unsafe { driver.allocate_alarm() }.is_none()); 219 assert!(unsafe { driver.allocate_alarm() }.is_none());