Closed kochigami closed 5 years ago
Traceback (most recent call last):
File "/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/script/roslaunch-check", line 150, in <module>
error_msg = check_roslaunch_file(roslaunch_path)
File "/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/script/roslaunch-check", line 110, in check_roslaunch_file
error_msg = check_roslaunch(roslaunch_file)
File "/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/script/roslaunch-check", line 63, in check_roslaunch
base_pkg, file_deps, missing = roslaunch.depends.roslaunch_deps([f])
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 316, in roslaunch_deps
rl_file_deps(file_deps, launch_file, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 217, in rl_file_deps
parse_launch(launch_file, file_deps, verbose)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 202, in parse_launch
_parse_launch(launch_tag.childNodes, launch_file, file_deps, verbose, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 172, in _parse_launch
_parse_launch(launch_tag.childNodes, sub_launch_file, file_deps, verbose, sub_context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 137, in _parse_launch
_parse_launch(tag.childNodes, launch_file, file_deps, verbose, context)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/depends.py", line 174, in _parse_launch
raise RoslaunchDepsException("Cannot load roslaunch include '%s' in '%s'"%(sub_launch_file, launch_file))
roslaunch.depends.RoslaunchDepsException: Cannot load roslaunch include '/opt/ros/indigo/share/naoqi_apps/launch/basic_awareness.launch' in '/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/launch/jsk_pepper_startup.launch'
Cannot find results, writing failure results to '/home/travis/ros/ws_jsk_robot/build/jsk_pepper_startup/test_results/jsk_pepper_startup/MISSING-roslaunch-check_roslaunch-check-pepper-startup__ROS_IP_10.68.0.2 NAO_IP_10.68.0.3.xml.xml'
1)https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_naoqi_robot/jsk_pepper_startup/CMakeLists.txt#L16
を完全にコメントアウトする
2)jsk_robot/.travis.rosinstall.indigo
に必要なバージョン/ブランチを書いておく(travisテスト時にこれがソースでインストールされる容認なる)(参考:https://github.com/jsk-ros-pkg/jsk_robot/blob/master/.travis.rosinstall.kinetic)
3) jsk_pepper_startup.launchの<arg name="launch_joy" default="true" />
みたいにlaunch_gui default=trueみたいにしておいて,CMakeLists.txtのなかで
roslaunch_add_file_check(launch/jsk_pepper_startup.launch "ROS_IP=10.68.0.2 NAO_IP=10.68.0.3" launch_gui=false)
みたいにする
ありがとうございます. 2) の形で一旦やってみました:https://github.com/jsk-ros-pkg/jsk_robot/pull/1074/commits/7df220310eff61476dc42011232353c4ba05553e
2)jsk_robot/.travis.rosinstall.indigo に必要なバージョン/ブランチを書いておく(travisテスト時にこれがソースでインストールされる容認なる)(参考
について,
allow_failures
に入っていない,ROS_DISTRO=indigo USE_DEB=true
でテストを通さないといけないから,2が必要だと分かりました.
https://docs.travis-ci.com/user/customizing-the-build/#rows-that-are-allowed-to-failすみません,
.travis/travis.shを実行して,https://github.com/jsk-ros-pkg/jsk_travis/blob/3651899d45e151f47bea20cd0e88d1abb12941b3/travis.sh#L234 で2の.rosinstallを読み込むようになると分かりました.
はUSE_DEB=falseの時だけでした.https://github.com/jsk-ros-pkg/jsk_travis/blob/3651899d45e151f47bea20cd0e88d1abb12941b3/travis.sh#L227 3の作戦で行こうと思います.
エラー
`unused args [launch_gui] for include of [/opt/ros/indigo/share/naoqi_dashboard/launch/naoqi_dashboard.launch]`
ググり方が悪いのか,引数の与え方を調べても分からない 多分下のような書き方だと引数を渡せていない?
roslaunch_add_file_check(launch/jsk_pepper_startup.launch "ROS_IP=10.68.0.2 NAO_IP=10.68.0.3" launch_dashboard=false)
=>
[/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/launch/jsk_pepper_startup.launch]:
unused args [launch_gui] for include of [/opt/ros/indigo/share/naoqi_dashboard/launch/naoqi_dashboard.launch]
roslaunch_add_file_check(launch/jsk_pepper_startup.launch "ROS_IP=10.68.0.2 NAO_IP=10.68.0.3 launch_dashboard=false" )
=>
unused args [launch_gui] for include of [/opt/ros/indigo/share/naoqi_dashboard/launch/naoqi_dashboard.launch]
以下のスレッドを見つけた https://answers.ros.org/question/75844/rosbuild_add_roslaunch_check-and-required-arguments/
CMakeLists.txt
roslaunch_add_file_check(test/jsk_pepper_startup.test.xml "ROS_IP=10.68.0.2 NAO_IP=10.68.0.3")
jsk_naoqi_robot/jsk_pepper_startup/test/jsk_pepper_startup.test.xml
<launch>
<include file="$(find jsk_pepper_startup)/launch/jsk_pepper_startup.launch">
<arg name="launch_dashboard" value="false" />
</include>
</launch>
=>
Cannot load roslaunch include '/opt/ros/indigo/share/naoqi_apps/launch/basic_awareness.launch' in '/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/launch/jsk_pepper_startup.launch'
naoqi_appsを使わないで,テスト用のlaunchファイルを作った方が良いかもしれない
<launch>
<include file="$(find jsk_pepper_startup)/launch/jsk_pepper_startup.launch">
<arg name="launch_dashboard" value="false" />
<arg name="autonomous_enabled" value="false" />
</include>
</launch>
=>
roslaunch.depends.RoslaunchDepsException: Cannot load roslaunch include '/opt/ros/indigo/share/naoqi_apps/launch/basic_awareness.launch' in '/home/travis/ros/ws_jsk_robot/src/jsk_robot/jsk_naoqi_robot/jsk_pepper_startup/launch/jsk_pepper_startup.launch'
結局,テスト用のlaunchファイルを作った:
roslaunch_add_file_check(test/jsk_pepper_startup.launch "ROS_IP=10.68.0.2 NAO_IP=10.68.0.3")
naoqi_dashboardは起動しない設定に
(起動する設定(true)にすると,naoqi_dashboardもテストされる.
naoqi_dashboard.launchはdebにも存在するので,「ファイルがない」というエラーは出ない.
しかし,launch_gui
という引数はkochigami-developにしかないのでエラーが出る.)
<arg name="launch_dashboard" default="false" />
naoqi_apps/basic_awareness/ background_movement.launchをコメントアウト naoqi_appsのdebは存在するが,これらのlaunchは含まれないのでテストで「ファイルがない」といエラーが出る.起動しない設定(false)にしても,このエラーは出る.
<!-- <group if="$(arg autonomous_enabled)"> -->
<!-- <include file="$(find naoqi_apps)/launch/basic_awareness.launch" /> -->
<!-- <node pkg="jsk_pepper_startup" type="start_basic_awareness.py" name="start_basic_awareness" /> -->
<!-- <include file="$(find naoqi_apps)/launch/background_movement.launch" /> -->
<!-- <node pkg="jsk_pepper_startup" type="start_background_movement.py" name="start_background_movement" /> -->
<!-- </group> -->
環境
Ubuntu 16.04, ROS kinetic
困ったこと
naoqi_dashboard
とnaoqi_apps
(naoqi_bridge
)で,kochigami-developという名前でコミットしていたものをjsk_pepper_startup.launch
にも使いたい. (そもそも独自のブランチを切っている理由は,ros-naoqiのパッケージの開発がゆっくり目なのと,自分の変更をmasterにPRする前に,手元で試した方が良いと思うため.) しかし,テストの時はこれらのパッケージとして/opt/ros/kinetic/...以下のlaunchを使うので, 例えば以下のエラーが出る. エラーが出てもテストを合格にするか,テストを免除して欲しい.basic_awareness.launch
はkochigami-developにしかないからエラーになるlaunch_gui
引数はkochigami-developmentにしかないからエラーになる