Skip to content
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 tests related to shininess #3223

Merged
merged 4 commits into from
May 27, 2022

Conversation

scpeters
Copy link
Member

The material shininess features added in #3213 introduced a few test regressions that we difficult to notice due to the large number of existing test failures in our CI. Having been able to observe several sets of builds since then, I've noticed the following test failures that I believe we introduced:

The PhysicsEngines/NestedModelTest.SpawnNestedModel/* tests (and possibly ModelListWidget_TEST.NestedLinkProperties) should be fixed by b29d38c (diff without whitespace). The remaining tests should be fixed by 6c4c188.

scpeters added 3 commits May 26, 2022 15:01
The logic in World::LoadModel currently creates an empty
link in models without links by calling GetElement("link")
without checking if such an element exists. This checks
HasElement("link") before calling GetElement, which fixes
a nested model test.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
Signed-off-by: Steve Peters <scpeters@openrobotics.org>
The pr2 test was failing due to timeouts in the shininess
service call. Move the call from Visual::Load to Visual::Init
to allow the service advertisement in World::Load some
time to take effect.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters
Copy link
Member Author

@traversaro what does it take to use libsdformat 9.8.0 in condo-forge?

@scpeters
Copy link
Member Author

the tests are all fixed in the jenkins ubuntu and homebrew builds, but condo-forge is failing due to a lack of libsdformat 9.8

@traversaro
Copy link
Collaborator

@traversaro what does it take to use libsdformat 9.8.0 in condo-forge?

We need to manually bump the v9 branch as unfortunately we do not have the autotick bot for non-default branches. I can do it in ~1 hour.

@traversaro
Copy link
Collaborator

@traversaro what does it take to use libsdformat 9.8.0 in condo-forge?

We need to manually bump the v9 branch as unfortunately we do not have the autotick bot for non-default branches. I can do it in ~1 hour.

Strange, apparently conda-forge should already contain 9.8, see https://anaconda.org/conda-forge/libsdformat and https://github.com/conda-forge/libsdformat-feedstock/blob/9bda5c89b3bf47bab6169bc7add488f4c710e336/recipe/meta.yaml#L2 . I need to check what is happening.

@traversaro
Copy link
Collaborator

I tried to play removing the pin from qt and to forge the installation of latest sdformat, but this happens:

traversaro@IITICUBLAP257:~$ mamba create -n gazebodev libprotobuf "libsdformat>=9.8" libignition-cmake2 libignition-math6 libignition-transport8 libignition-common3 libignition-fuel-tools4 qt ogre=1.10 freeimage curl tbb-devel qwt tinyxml2 libccd boost-cpp libcurl tinyxml bzip2 zlib ffmpeg graphviz libgdal libusb bullet-cpp
dartsim simbody hdf5 openal-soft glib gts

                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (0.23.0) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████


Looking for: ['libprotobuf', "libsdformat[version='>=9.8']", 'libignition-cmake2', 'libignition-math6', 'libignition-transport8', 'libignition-common3', 'libignition-fuel-tools4', 'qt', 'ogre=1.10', 'freeimage', 'curl', 'tbb-devel', 'qwt', 'tinyxml2', 'libccd', 'boost-cpp', 'libcurl', 'tinyxml', 'bzip2', 'zlib', 'ffmpeg', 'graphviz', 'libgdal', 'libusb', 'bullet-cpp', 'dartsim', 'simbody', 'hdf5', 'openal-soft', 'glib', 'gts']

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
Encountered problems while solving:
  - package dartsim-6.9.4-h613b62a_0 requires urdfdom >=2.3.3,<2.4.0a0, but none of the providers can be installed

Probably there is some dependency that is not properly tracked in the pinned version in conda-forge, I will need to check a bit more.

@traversaro
Copy link
Collaborator

Ok, I was able to reproduce the problem locally. If I try to force the installation of a recent sdformat this happens:

traversaro@IITICUBLAP257:~$ mamba create -n gazebodev libprotobuf "libsdformat>=9.8" libignition-cmake2 libignition-math6 libignition-transport8 libignition-common3 libignition-fuel-tools4 qt ogre=1.10 freeimage curl tbb-devel qwt tinyxml2 libccd boost-cpp libcurl tinyxml bzip2 zlib ffmpeg graphviz libgdal libusb bullet-cpp
dartsim simbody hdf5 openal-soft glib gts

                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (0.23.0) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████


Looking for: ['libprotobuf', "libsdformat[version='>=9.8']", 'libignition-cmake2', 'libignition-math6', 'libignition-transport8', 'libignition-common3', 'libignition-fuel-tools4', 'qt', 'ogre=1.10', 'freeimage', 'curl', 'tbb-devel', 'qwt', 'tinyxml2', 'libccd', 'boost-cpp', 'libcurl', 'tinyxml', 'bzip2', 'zlib', 'ffmpeg', 'graphviz', 'libgdal', 'libusb', 'bullet-cpp', 'dartsim', 'simbody', 'hdf5', 'openal-soft', 'glib', 'gts']

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
Encountered problems while solving:
  - package dartsim-6.9.4-h613b62a_0 requires urdfdom >=2.3.3,<2.4.0a0, but none of the providers can be installed

If I remove dartsim (that anyhow is a optional dependency) from the dependency list, libsdformat 9.8 gets installed. Probably there is a problem with sdformat. Playing a bit more, the problem is more clear:

traversaro@IITICUBLAP257:~$ mamba create -n gazebodev libprotobuf "libsdformat>=9.8" libignition-cmake2 libignition-math6 libignition-transport8 libignition-common3 libignition-fuel-tools4 qt ogre=1.10 freeimage curl tbb-devel qwt tinyxml2 libccd boost-cpp libcurl tinyxml bzip2 zlib ffmpeg graphviz libgdal libusb bullet-cpp  simbody hdf5 openal-soft glib gts "urdfdom>=3.1" dartsim=6.12.1=h9f176f7_4

                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (0.23.0) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████


Looking for: ['libprotobuf', "libsdformat[version='>=9.8']", 'libignition-cmake2', 'libignition-math6', 'libignition-transport8', 'libignition-common3', 'libignition-fuel-tools4', 'qt', 'ogre=1.10', 'freeimage', 'curl', 'tbb-devel', 'qwt', 'tinyxml2', 'libccd', 'boost-cpp', 'libcurl', 'tinyxml', 'bzip2', 'zlib', 'ffmpeg', 'graphviz', 'libgdal', 'libusb', 'bullet-cpp', 'simbody', 'hdf5', 'openal-soft', 'glib', 'gts', "urdfdom[version='>=3.1']", 'dartsim==6.12.1=h9f176f7_4']

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
Encountered problems while solving:
  - package libsdformat-9.8.0-h06cd983_0 requires urdfdom >=3.0.2,<3.1.0a0, but none of the providers can be installed

So the latest sdformat 9.8 was not build with urdfdom 3.1 . I can trigger a build to force this, but in the mean time you can just remove dartsim (that in any case is an optional dependency) from the dependencies installed.

Workaround for an issue with libsdformat 9.8

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters
Copy link
Member Author

I've removed dartsim from the list of conda-forge dependencies in 672576d as a workaround for now

@traversaro
Copy link
Collaborator

I've removed dartsim from the list of conda-forge dependencies in 672576d as a workaround for now

Thanks. I opened two PRs to hopefully avoid this problem in the future:

@scpeters scpeters requested a review from jennuine May 27, 2022 21:10
Copy link
Collaborator

@jennuine jennuine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@scpeters scpeters merged commit 323fc1c into gazebosim:gazebo11 May 27, 2022
@scpeters scpeters deleted the fix_nested_model_test branch May 27, 2022 23:41
scpeters added a commit to scpeters/gazebo that referenced this pull request May 27, 2022
Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit to gazebo-release/gazebo11-release that referenced this pull request May 27, 2022
Follow-up to gazebosim/gazebo-classic#3213 and gazebosim/gazebo-classic#3223

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit to gazebo-release/gazebo11-release that referenced this pull request May 27, 2022
Follow-up to gazebosim/gazebo-classic#3213 and gazebosim/gazebo-classic#3223

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit that referenced this pull request Jun 16, 2022
Reverts a portion of #3223 that broke shininess
functionality.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit that referenced this pull request Jun 16, 2022
Reverts a portion of #3223 that broke shininess
functionality.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit that referenced this pull request Jun 29, 2022
* Add Visual::Shininess accessor and corresponding
visual_shininess integration test that confirms
shininess values are properly added to Visuals in
the shapes_shininess example world.

* Fix the test by reverting part of #3223, moving
the shininess service call back to Visual::Load.
A different fix for the PR2 tests is made by
checking for existence of shininess service
before calling.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
traversaro added a commit that referenced this pull request Jan 12, 2023
In #3223 (comment) we added some workarounds for the conda-forge CI, namely pin the version of some dependencies and removed dartsim. Now that the long term fixes to that problems (linked in #3223 (comment)) has been fixed, we can remove the workarounds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants