ros-industrial / ros2_canopen

CANopen driver framework for ROS2
https://ros-industrial.github.io/ros2_canopen/manual/rolling/
158 stars 69 forks source link

Iron support #138

Closed hellantos closed 1 year ago

hellantos commented 1 year ago

Hi @destogl,

We have problems running our tests on ROS iron. Test log indicates the following:

build/canopen_ros2_controllers/Testing/20230606-0634/Test.xml: 2 tests, 0 errors, 1 failure, 0 skipped
- test_load_canopen_proxy_controller
  <<< failure message
    -- run_test.py: invoking following command in '/root/target_ws/build/canopen_ros2_controllers':
     - /root/target_ws/build/canopen_ros2_controllers/test_load_canopen_proxy_controller --gtest_output=xml:/root/target_ws/build/canopen_ros2_controllers/test_results/canopen_ros2_controllers/test_load_canopen_proxy_controller.gtest.xml
    Running main() from gmock_main.cc
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from TestLoadCanopenProxyController
    [ RUN      ] TestLoadCanopenProxyController.load_controller
    [INFO] [1686033261.383490100] [resource_manager]: Loading hardware 'TestActuatorHardware' 
    unknown file: Failure
    C++ exception with description "According to the loaded plugin descriptions the class test_actuator with base class type hardware_interface::ActuatorInterface does not exist. Declared types are " thrown in the test body.
    [  FAILED  ] TestLoadCanopenProxyController.load_controller (10 ms)
    [----------] 1 test from TestLoadCanopenProxyController (10 ms total)

    [----------] Global test environment tear-down
    [==========] 1 test from 1 test suite ran. (10 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] TestLoadCanopenProxyController.load_controller

     1 FAILED TEST

It seems that something goes wrong with loading the TestActuator plugin?

destogl commented 1 year ago

OK, let me check this tomorrow. I am not aware that we changed anything there, but maybe is some regression I missed to sync.

destogl commented 1 year ago

OK, I have figured out the issue. The test libraries are not exported anymore per default to be visible to other packages. And the good news is that we don't need those anymore, since ControllerManager now also works with empty URDF (at first). Since there is sync on Friday, I will ask @bmagyar to do a new release today, so we get this feature synced, and then the test should work with the fix in #142.