The unit tests can’t detect the bug because they use the executable from the CMAKE_BINARY_DIR
and that binary uses a full RPATH to the library.
When you are installing the executable CMake is clearing full RPATH to instead rely on LD_LIBRARY_PATH
. And since the path <prefix>/lib/fmi_adapter
is not listed in that environment variable it will fail to find the library.
As a consequence also the ros_buildfarm
has no way to check for this.
If you would like add tests covering your installed packages you could create a separate package test_fmi_adapter
which depends on fmi_adapter
and contains tests which ensure that the installed package fmi_adapter
is working as desired. (In the release process using bloom you usually want to skip the test_fmi_adapter
package from being released to avoid a Debian package being created for it. This can be configured in the release repository.)