We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f2e02d3 commit c44dfceCopy full SHA for c44dfce
rclrs/src/executor.rs
@@ -86,3 +86,28 @@ impl SingleThreadedExecutor {
86
Ok(())
87
}
88
89
+
90
+#[cfg(test)]
91
+mod tests {
92
+ use crate::{spin_once, Context};
93
94
+ use super::*;
95
96
+ #[test]
97
+ fn spin_once_fires_timer() -> Result<(), RclrsError> {
98
+ let context = Context::new([])?;
99
+ let node = Node::new(&context, "test_spin_timer")?;
100
101
+ let callback_triggered = Arc::new(Mutex::new(false));
102
+ let callback_flag = Arc::clone(&callback_triggered);
103
104
+ let _timer = node.create_timer(Duration::from_secs(0), move |_| {
105
+ *callback_flag.lock().unwrap() = true;
106
+ })?;
107
108
+ spin_once(node, Some(Duration::ZERO))?;
109
110
+ assert!(*callback_triggered.lock().unwrap());
111
+ Ok(())
112
+ }
113
+}
0 commit comments