"catkin run_tests" finding non-installed resource

asked 2018-10-27 04:05:17 -0500

130s gravatar image

updated 2018-10-27 09:17:07 -0500

"catkin run_tests" finding non-installed resource

I have 2 packages, baa and foo. There are 2 .test files in pkg foo. Catkin workspace is configured with catkin config --install, so I expect only installed resource can be accessed from rostest. Files in config are not installed.

However during catkin run_test,

  • foo.test, which tries to find the file in config folder under the same foo package, seems to be able to find it.
  • baa.test, which tries to find the file in config folder under baa package, can't find it.

This result is unintuitive to me; I'd expect in neither case the file should be found. Am I wrong?

$ tree -L 3
.
├── baa
│   ├── CMakeLists.txt
│   ├── config
│   │   └── rsc.yaml
│   └── package.xml
└── foo
    ├── a.launch
    ├── CMakeLists.txt
    ├── config
    │   └── rsc.yaml
    ├── package.xml
    └── test
        ├── baa.test
        └── foo.test

The entire sources can be found here.

Full set of commands to reproduce the case:

$ sudo apt-get install python-catkin-tools 
$ DIR_TEST=/tmp/rostest_test
$ mkdir -p $DIR_TEST/src && cd $DIR_TEST/src
$ git clone https://github.com/130s/prooving_grounds.git -b rostest_install_rsc
$ mv prooving_grounds/ros/rostest_runtests/ . && rm -fr prooving_grounds/ && cd ..
$ catkin config --install && catkin run_tests
:
[build] Runtime: 35.3 seconds total.
[build] Note: Workspace packages have changed, please re-source setup files to use them.
$ catkin_test_results
build/foo/test_results/foo/MISSING-rostest-test_baa.xml: 1 tests, 0 errors, 1 failures, 0 skipped
Summary: 3 tests, 0 errors, 1 failures, 0 skipped
$ more build/foo/test_results/foo/MISSING-rostest-test_baa.xml
<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="1" failures="1" time="1" errors="0" name="rostest-test_baa.xml">
  <testcase name="test_ran" status="run" time="1" classname="Results">
      <failure message="Unable to find test results for rostest-test_baa.xml, test did not run.
Expected results in /tmp/ros_prove/build/foo/test_results/foo/rostest-test_baa.xml" type=""/>
  </testcase>
  </testsuite>
$

Environment:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS

$ apt-cache policy python-catkin-tools 
python-catkin-tools:
  Installed: 0.4.4-1
  Candidate: 0.4.4-1
edit retag flag offensive close merge delete

Comments

[build] Note: Workspace packages have changed, please re-source setup files to use them.

you don't seem to do this.

Can you try and see whether that makes a difference?

gvdhoorn gravatar image gvdhoorn  ( 2018-10-27 05:12:49 -0500 )edit