-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Check that future is done, and always call rclpy.shutdown #273
Conversation
Signed-off-by: Shane Loretz <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
@sloretz I think it's good to go 👍 |
Thank you @Blast545 for following up on this with CI! |
👨🌾 This extra added assert failed in the windows release nightlies:
Can I ask you to take a look @sloretz? 🙏 |
Oh, I see. Thanks for the context! |
I don't think it's a flaky call, it has been failing constantly in the past 5 WIndows Release CI jobs. ci.ros2.org/nightly_win_rel#2090/. Can I ask you to take an extra look @sloretz ? |
This partially undoes #270 - I didn't realize
spin_until_future_complete()
does nothing on timeout, so the future's result could be None. This assert's the future is done before using the result.The second commit Makes sure
rclpy.shutdown()
is always called. It looks like all the tests are run in the same Python instance, so the tests need to be extra careful when initializing rclpy globally. Using atry/finally
construct makes sure rclpy will be shutdown for the next test. Otherwise, errors like this one can happen: https://ci.ros2.org/job/ci_windows/15536/consoleText