-
Notifications
You must be signed in to change notification settings - Fork 53
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
Refactor rendering tests to run against multiple implementations #685
Refactor rendering tests to run against multiple implementations #685
Conversation
6a65c42
to
7a6931c
Compare
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
6ed7553
to
ff84cc7
Compare
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Codecov Report
@@ Coverage Diff @@
## ci_matching_branch/ogre23 #685 +/- ##
==============================================================
+ Coverage 53.18% 69.69% +16.50%
==============================================================
Files 214 214
Lines 21550 21550
==============================================================
+ Hits 11462 15019 +3557
+ Misses 10088 6531 -3557
Continue to review full report at Codecov.
|
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
Signed-off-by: Michael Carroll <[email protected]>
It is expected that Windows won't work (as it is using vcpkg and not conda). I'm the process of updating some of the conda recipes, but I think that's out of scope here: conda-forge/ogre-next-feedstock#8 |
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.
I tested ogre
and ogre2
tests on Focal with gl3plus
and the tests pass for me.
I see RENDER_ENGINE_VALUES
still used in a few places, e.g. scene_factory.cc so we still can't remove it yet right?
I think the instruction on running individual tests may need to be updated in the installation tutorial
@@ -227,28 +198,13 @@ void WideAngleCameraTest::WideAngleCamera( | |||
|
|||
// Clean up | |||
engine->DestroyScene(scene); | |||
gz::rendering::unloadEngine(engine->Name()); |
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.
can we leave these calls in place but commented out? We can add a todo comment that it says it causes segfault / test failure so we can look at them later.
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.
These are removed because they are handled by the test fixture now:
This also guarantees that any resources allocated in the test will be deallocated before the test is torn down.
Merging this into #681 |
As we have increased our number of potential configurations, we needed a bit of a refactor to be able to test all of the configurations. This changes the tests to no longer use gtest's parameterization, but rather use ctest's Signed-off-by: Michael Carroll <[email protected]>
As we have increased our number of potential configurations, we needed a bit of a refactor to be able to test all of the configurations. This changes the tests to no longer use gtest's parameterization, but rather use ctest's Signed-off-by: Michael Carroll <[email protected]>
* Upgrade to Ogre 2.3 * Refactor rendering tests to run against multiple implementations (#685) * Port remaining tests to common framework (#694) Signed-off-by: Matias N. Goldberg <[email protected]> Signed-off-by: Michael Carroll <[email protected]> Co-authored-by: Michael Carroll <[email protected]>
🎉 New feature
Addresses #683
Summary
As we have increased our number of potential configurations, we needed a bit of a refactor to be able to test all of the configurations.
This changes the tests to no longer use
gtest
's parameterization, but rather usectest
'sAll tests that are based on the
CommonRenderingTest
can be parameterized via environment variables that are injected inctest
.For a platform like Ubuntu Jammy, where we support ogre, and ogre2 (with both opengl and vulkan). The resulting list of tests for a single executable looks like:
For configurations that aren't supported, there are a few macros to be able to skip the tests introduced in the
CommonRenderingTest.hh
header.Test it
Build gz-rendering and run tests with ctest
For example, you could:
Test all ogre2:
ctest -R ogre2
Test all vulkan:
ctest -R vulkan
Test all INTEGRATION:
ctest -R integration
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.