-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix macOS/windows tests that failed to load library #60
Conversation
Signed-off-by: Steve Peters <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool!
I'm going to rebase and then mark this ready for review |
51bfd87
to
cba3058
Compare
This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes gazebosim#4. Signed-off-by: Steve Peters <[email protected]>
They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
cba3058
to
23c249a
Compare
I've updated the pull request description, and this is now ready for review. All windows tests are fixed, and most macOS tests are fixed; there are just a few remaining complaining about "lazy symbol binding failed" in ogre. I'll open a separate issue for those. |
this also fixes #49 |
I opened #62 to track those remaining test failures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to see all those tests fixed and the new macOS CI! I just have a comment about maybe moving the new action, for your consideration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for fix this. Looks good to me.
* Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes gazebosim#4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
* Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes gazebosim#4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
* Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes gazebosim#4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
Fix macOS/windows tests that failed to load library (gazebosim#60) * Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes gazebosim#4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
Fix macOS/windows tests that failed to load library (#60) * Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes #4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]>
* Prepare fo 3.2.0 release (#94) Signed-off-by: Nate Koenig <[email protected]> Co-authored-by: Nate Koenig <[email protected]> * Backport #60 from ign-sensors4 Fix macOS/windows tests that failed to load library (#60) * Add workflow for macos-latest * Set test env to help find plugins This fixes tests on macOS and windows that were failing to find and/or load a sensor component library. In windows CI and the macOS workflow (which runs `make test` before `make install`) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting the IGN_PLUGIN_PATH in cmake to the build folder containing the compiled plugins. In the macOS jenkins build (which runs `make test` after `make install`) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by setting DYLD_LIBRARY_PATH to include the location of the installed libraries. Fixes #4. * Remove redundant AddPluginPaths calls from tests They don't work on windows, so just depend on the environment variables set in cmake instead. Signed-off-by: Steve Peters <[email protected]> * 👩🌾 Clear Windows warnings (backport #58) (#102) Signed-off-by: Louise Poubel <[email protected]> Co-authored-by: Alejandro Hernández Cordero <[email protected]> * Master branch updates (#106) Signed-off-by: Louise Poubel <[email protected]> Co-authored-by: Nate Koenig <[email protected]> Co-authored-by: Nate Koenig <[email protected]> Co-authored-by: Steve Peters <[email protected]> Co-authored-by: Alejandro Hernández Cordero <[email protected]>
This adds a GitHub actions workflow that uses macOS Catalina to help debug the
UNIT_Lidar_TEST
failures reported in #4. It turns out that all the windows test failures and most on macOS are caused by a failure to load sensor component libraries properly and can be fixed by properly setting environment variables for the tests.In windows CI and the macOS workflow (which runs
make test
beforemake install
) tests were failing with the message "Unable to find sensor plugin path". This is fixed by setting theIGN_PLUGIN_PATH
in cmake to the build folder containing the compiled plugins.In the macOS jenkins build (which runs
make test
aftermake install
) tests were failing with the message "SDF sensor type does not match template type". It was difficult to track down, but it appears to be caused by a failure to properly dlopen all the shared libraries linked by the component plugins when a test finds an installed component library, rather than one from the build folder. It is fixed by settingDYLD_LIBRARY_PATH
to include the location of the installed libraries.There were also some
AddPluginPaths
calls in integration tests that didn't work on all platforms and are now redundant after setting the environment variables in cmake, so I've removed those lines from the tests.