🤖
ROS2 Tips: colcon testのタイムアウト時間変更方法 ~ament_cmakeの場合~
はじめに
- ament_cmakeで作成したROS2パッケージでのテストがタイムアウトで失敗してしまったのでその対処方法
-
colcon build
後に、colcon test
でタイムアウトエラーで失敗するケースを想定
-
- 対象テストの種類は以下
- 単体テスト (C++:gtest)
- ノードレベルテスト (C++パッケージ)
方法
- デフォルトのタイムアウト時間は60秒で、単体テスト、ノードレベルテストともに同様
- 設定方法も同様で、各テストの引数に、TIMEOUTキーワードを入れる
単体テスト (C++:gtestの場合)
- ament_add_gtestで、TIMEOUTを設定する
例: タイムアウトを100秒に設定
ament_add_gtest(my_func_test test/my_func_test.cpp
TIMEOUT 100
)
ノードレベルテスト
- add_launch_testで、TIMEOUTを設定する
例: タイムアウトを100秒に設定
add_launch_test(my_node_test test/my_node_test_launch.py
TIMEOUT 100
)
まとめ
ROS2パッケージ(C++)の単体テストとノードレベルテストのタイムアウト時間について調査し、デフォルト値(60秒)を変更することができた。
Discussion