CIR-KIT-Unit03 / cirkit_unit03_apps

Application packages for CIR-KIT-Unit03
BSD 3-Clause "New" or "Revised" License
3 stars 5 forks source link

catkin_make test が通らない #8

Closed MoriKen254 closed 7 years ago

MoriKen254 commented 7 years ago

mm/add/test/launch ブランチでの現象です.どうすればTestを通せるか,知恵を貸して頂けますか.

現象

catkin_make testをすると,下記のようにTestがFailします.

    Start 1: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml
1/5 Test #1: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml ..............................***Failed    1.23 sec

launch/robot/autorun.launch<include file="$(find cirkit_unit03_bringup)/launch/cirkit_unit03_bringup.launch"/>をコメントアウトすれば,Passします.

    Start 1: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml
1/5 Test #1: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml ..............................   Passed    1.20 sec

参考

roslaunch cirkit_unit03_bringup cirkit_unit03_bringup.launch

を打てば,ファイルは存在するのでコマンドは実行されます.(HWが接続されてないので,それについては当然エラーを吐きます.)

※エラー抜粋

[FATAL] [1480256044.646746213]: Could not connect to cirkit unit03.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Could not connect to cirkit unit03
[ERROR] [1480256044.690924150]: Exception thrown while opening Hokuyo.
Failed to open port: /dev/sensors/hokuyo_H1101683. No such file or directory (errno = 2). The requested port does not exist. Is the hokuyo connected? Was the port name misspelled? (in hokuyo::laser::open) You may find further details at http://www.ros.org/wiki/hokuyo_node/Troubleshooting
[ERROR] [1480256044.695634981]: Exception thrown while opening Hokuyo.
Failed to open port: /dev/sensors/hokuyo_H0807317. No such file or directory (errno = 2). The requested port does not exist. Is the hokuyo connected? Was the port name misspelled? (in hokuyo::laser::open) You may find further details at http://www.ros.org/wiki/hokuyo_node/Troubleshooting
[ERROR] [WallTime: 1480256044.855780] Error opening serial: could not open port /dev/arduino_uno_95233353131351D040D0: [Errno 2] No such file or directory: '/dev/arduino_uno_95233353131351D040D0'
forno commented 7 years ago

調べてみました。

catkin_make runtests のログファイルは build/test_results/ 以下にパッケージ名がついたディレクトリがあるので、その中の子をよんでみました。エラーが出るたびに使っているリポジトリが古くないか確認するのとっても辛いですね。

結論から言うと、私の環境でこのテストを通すのが大変なのでちょっと諦めました。 autorun_gazebo の方はsteerのプラグインがコンパイルできないので走りません。 無印 autorun の方は必要なパッケージがインストールされていなかったので投げました。

気づいたことといえば、ログファイルですが、package.xml に書いてある実行時依存が解決できなければ MISSING-<test file>.xml というファイルを出力するようです。 逆に package.xml に書いてない(例えば依存先の依存)先で辿れなくても正常終了と同様に <test name>.xml というファイル名になるようです。(もちろん中にはエラーの記述が有ります)

ひとまず、このログファイルの中身を教えて頂けると役立つかもしれません。

また、実行時のエラーの質ですが、間違いなく catkin_make run_tests のほうが上ですので、そちらのエラーログも合わせて出してくださると早く解決するかもしれません。

更に余談ですが、 run_tests の方であればパッケージを指定して特定のパッケージだけテストできるので横に置いてあるテストが走らず、ログが見やすくなります。

catkin_make run_tests_cirkit_unit03_apps

ご活用くださいませ。

MoriKen254 commented 7 years ago

ありがとうございます。 エラーログですが、ROSの環境が夜までありつけないので、少々お待ち下さい。

AriYu commented 7 years ago

@MoriKen254 @forno

catkin_make run_tests_cirkit_unit03_apps

を実行してみました。以下のようなログを吐きました。

$ catkin_make run_tests_cirkit_unit03_apps
Base path: /home/yuta/Develop/ROS/tc2016_ws
Source space: /home/yuta/Develop/ROS/tc2016_ws/src
Build space: /home/yuta/Develop/ROS/tc2016_ws/build
Devel space: /home/yuta/Develop/ROS/tc2016_ws/devel
Install space: /home/yuta/Develop/ROS/tc2016_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/yuta/Develop/ROS/tc2016_ws/build"
####
####
#### Running command: "make run_tests_cirkit_unit03_apps -j4 -l4" in "/home/yuta/Develop/ROS/tc2016_ws/build"
####
Scanning dependencies of target run_tests_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml
Scanning dependencies of target run_tests_cirkit_unit03_apps_roslaunch-check_test_autorun_gazebo.test.xml
-- run_tests.py: execute commands
  /usr/bin/cmake -E make_directory /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps
  /opt/ros/indigo/share/roslaunch/cmake/../scripts/roslaunch-check -o /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun_gazebo.test.xml.xml /home/yuta/Develop/ROS/tc2016_ws/src/cirkit_unit03_apps/test/autorun_gazebo.test.xml 
-- run_tests.py: execute commands
  /usr/bin/cmake -E make_directory /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps
  /opt/ros/indigo/share/roslaunch/cmake/../scripts/roslaunch-check -o /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun.test.xml.xml /home/yuta/Develop/ROS/tc2016_ws/src/cirkit_unit03_apps/test/autorun.test.xml 
checking /home/yuta/Develop/ROS/tc2016_ws/src/cirkit_unit03_apps/test/autorun_gazebo.test.xml
checking /home/yuta/Develop/ROS/tc2016_ws/src/cirkit_unit03_apps/test/autorun.test.xml
Missing package dependencies: cirkit_unit03_bringup/package.xml: hokuyo_node, robot_state_publisher, joint_state_publisher
Missing package dependencies: cirkit_unit03_driver/package.xml: rosserial_python
...writing test results to /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun.test.xml.xml
FAILURE:
[/home/yuta/Develop/ROS/tc2016_ws/src/cirkit_unit03_apps/test/autorun.test.xml]:
    Missing package dependencies: cirkit_unit03_bringup/package.xml: hokuyo_node, robot_state_publisher, joint_state_publisher
Missing package dependencies: cirkit_unit03_driver/package.xml: rosserial_python
wrote test file to [/home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun.test.xml.xml]
...writing test results to /home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun_gazebo.test.xml.xml
passed
-- run_tests.py: verify result "/home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun.test.xml.xml"
Built target run_tests_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml
-- run_tests.py: verify result "/home/yuta/Develop/ROS/tc2016_ws/build/test_results/cirkit_unit03_apps/roslaunch-check_test_autorun_gazebo.test.xml.xml"
Built target run_tests_cirkit_unit03_apps_roslaunch-check_test_autorun_gazebo.test.xml
Scanning dependencies of target run_tests_cirkit_unit03_apps_roslaunch-check
Built target run_tests_cirkit_unit03_apps_roslaunch-check
Scanning dependencies of target run_tests_cirkit_unit03_apps
Built target run_tests_cirkit_unit03_apps
AriYu commented 7 years ago

cirkit_unit03_robotpackage.xmlexec_dependが足りていなかったのでay/fix/exec_depend_in_packagexmlブランチで修正しています。 こちらのブランチにしてただけたら、以下のように通りました。

catkin_make test                        
Base path: /home/yuta/Develop/ROS/tc2016_ws
Source space: /home/yuta/Develop/ROS/tc2016_ws/src
Build space: /home/yuta/Develop/ROS/tc2016_ws/build
Devel space: /home/yuta/Develop/ROS/tc2016_ws/devel
Install space: /home/yuta/Develop/ROS/tc2016_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/yuta/Develop/ROS/tc2016_ws/build"
####
####
#### Running command: "make test -j4 -l4" in "/home/yuta/Develop/ROS/tc2016_ws/build"
####
Running tests...
Test project /home/yuta/Develop/ROS/tc2016_ws/build
    Start 1: _ctest_cirkit_unit03_amcl_roslaunch-check_test_amcl_diff_launch.test.xml
1/8 Test #1: _ctest_cirkit_unit03_amcl_roslaunch-check_test_amcl_diff_launch.test.xml .....................   Passed    0.67 sec
    Start 2: _ctest_cirkit_unit03_amcl_roslaunch-check_test_amcl_diff_gazebo_launch.test.xml
2/8 Test #2: _ctest_cirkit_unit03_amcl_roslaunch-check_test_amcl_diff_gazebo_launch.test.xml ..............   Passed    0.68 sec
    Start 3: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml
3/8 Test #3: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun.test.xml ..............................   Passed    0.97 sec
    Start 4: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun_gazebo.test.xml
4/8 Test #4: _ctest_cirkit_unit03_apps_roslaunch-check_test_autorun_gazebo.test.xml .......................   Passed    1.00 sec
    Start 5: _ctest_cirkit_unit03_gazebo_roslaunch-check_test_autorun_gazebo_with_human_launch.test.xml
5/8 Test #5: _ctest_cirkit_unit03_gazebo_roslaunch-check_test_autorun_gazebo_with_human_launch.test.xml ...   Passed    0.92 sec
    Start 6: _ctest_cirkit_unit03_gazebo_roslaunch-check_test_autorun_gazebo_world.test.xml
6/8 Test #6: _ctest_cirkit_unit03_gazebo_roslaunch-check_test_autorun_gazebo_world.test.xml ...............   Passed    0.93 sec
    Start 7: _ctest_waypoint_navigator_roslaunch-check_test_waypoint_navigator.test.xml
7/8 Test #7: _ctest_waypoint_navigator_roslaunch-check_test_waypoint_navigator.test.xml ...................   Passed    0.72 sec
    Start 8: _ctest_waypoint_navigator_roslaunch-check_test_waypoint_navigator_gazebo.test.xml
8/8 Test #8: _ctest_waypoint_navigator_roslaunch-check_test_waypoint_navigator_gazebo.test.xml ............   Passed    0.73 sec

100% tests passed, 0 tests failed out of 8

Total Test time (real) =   6.61 sec
MoriKen254 commented 7 years ago

ありがとうございます.該当ブランチにしたところ,こちらでもtestが通りました.

MoriKen254 commented 7 years ago

https://github.com/CIR-KIT-Unit03/cirkit_unit03_apps/pull/9 で解決したので閉じます.