Closed tfoote closed 9 years ago
I have added an assertion which will state the problem clearly. I would not avoid the stacktrace for now since it requires lots of boilerplate code to handle "known errors" differently. I consider the error message good enough for users who did not install necessary dependencies.
Do you agree to close the ticket based on the added assertion?
lgtm
an assert is good enough.
It should detect and abort with a message if nose is necessary.
My process:
Adding a debug print statement shows:
build_action.cmd: ['.', '/root/ros2_ws/build/ament_package/ament_python__test.sh', '&&', None, '--nocapture', '--with-xunit', '--xunit-file=/root/ros2_ws/build/ament_package/nosetests.xml', '--with-coverage', '--cover-erase', '--cover-tests', '--cover-branches', '--cover-package=ament_package']
This breaks the join method. The print is fixable but I think it exposes a problem at a higher level. It looks like the command was not found, but there was not an error.
Looking at the command the missing executable is nose. Installing python3-nose fixed the problem.
The new output was:
build_action.cmd: ['.', '/root/ros2_ws/build/ament_package/ament_python__test.sh', '&&', '/usr/bin/nosetests3', '--nocapture', '--with-xunit', '--xunit-file=/root/ros2_ws/build/ament_package/nosetests.xml', '--with-coverage', '--cover-erase', '--cover-tests', '--cover-branches', '--cover-package=ament_package']
This is after following: https://github.com/ros2/examples/wiki substituting for the pre_api_review instead of master.
It also happens if you test a single package.
Full backtrace an error: