Skip to content

Commit 811b78d

Browse files
committed
Add test for create_future
Signed-off-by: Nadav Elkabets <[email protected]>
1 parent 8b5e371 commit 811b78d

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

rclpy/test/test_executor.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import threading
1818
import time
1919
import unittest
20+
from unittest.mock import Mock
2021
import warnings
2122

2223
import rclpy
@@ -729,6 +730,22 @@ def timer2_callback() -> None:
729730
self.node.destroy_timer(timer1)
730731
self.node.destroy_client(cli)
731732

733+
def test_create_future_returns_future_with_executor_attached(self) -> None:
734+
self.assertIsNotNone(self.node.handle)
735+
mock = Mock()
736+
737+
executor = SingleThreadedExecutor(context=self.context)
738+
executor.create_task = mock
739+
740+
try:
741+
fut = executor.create_future()
742+
cb = lambda fut: True
743+
fut.add_done_callback(cb)
744+
fut.set_result("Result")
745+
mock.assert_called_once_with(cb, fut)
746+
finally:
747+
executor.shutdown()
748+
732749

733750
if __name__ == '__main__':
734751
unittest.main()

0 commit comments

Comments
 (0)