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

[tests] Template method design pattern from BaseTest in derived classes #5162

Merged
merged 6 commits into from
Jan 22, 2025

Conversation

alxbilger
Copy link
Contributor

@alxbilger alxbilger commented Dec 12, 2024

First step to solve #5160.

BaseTest implements the template method design pattern. It overrides SetUp and TearDown to call onSetUp and onTearDown. However, most of the tests don't comply with the pattern. Instead they override also SetUp and TearDown. This PR makes the tests complying with the design pattern.

This has to be done in plugins as well. Then, SetUp and TearDown can be made final in BaseTest.

[ci-depends-on https://github.com/sofa-framework/PluginExample/pull/11]
[ci-depends-on https://github.com/sofa-framework/BeamAdapter/pull/165]
[ci-depends-on https://github.com/SofaDefrost/SoftRobots/pull/313]
[ci-depends-on https://github.com/SofaDefrost/ModelOrderReduction/pull/150]
[ci-depends-on https://github.com/sofa-framework/CGALPlugin/pull/23]


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@alxbilger alxbilger added pr: status to review To notify reviewers to review this pull-request pr: test PR adding test(s) in SOFA labels Dec 12, 2024
@damienmarchal
Copy link
Contributor

Why introducing onXXX instead of doXXX ?

@alxbilger
Copy link
Contributor Author

Why introducing onXXX instead of doXXX ?

It was already there.

@damienmarchal
Copy link
Contributor

damienmarchal commented Dec 12, 2024

Why introducing onXXX instead of doXXX ?

It was already there.

I have asked to the responsible of adding the onXXX:
fcbb885

.... the answer is that... it was done before the choice of doXXX.

:)

@bakpaul bakpaul added this to the v25.06 milestone Dec 16, 2024
@alxbilger alxbilger added the pr: breaking Change possibly inducing a compilation error label Jan 15, 2025
@alxbilger
Copy link
Contributor Author

[ci-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 15, 2025

[ci-depends-on] detected during build #6.

To unlock the merge button, you must

@sofabot
Copy link
Collaborator

sofabot commented Jan 15, 2025

[ci-depends-on] detected during build #7.

To unlock the merge button, you must

@sofabot
Copy link
Collaborator

sofabot commented Jan 15, 2025

[ci-depends-on] detected during build #8.

To unlock the merge button, you must

@alxbilger
Copy link
Contributor Author

[ci-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 15, 2025

[ci-depends-on] detected during build #9.

To unlock the merge button, you must

@alxbilger
Copy link
Contributor Author

[ci-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 15, 2025

[ci-depends-on] detected during build #10.

To unlock the merge button, you must

@alxbilger
Copy link
Contributor Author

[ci-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 16, 2025

[ci-depends-on] detected during build #11.

To unlock the merge button, you must

@alxbilger
Copy link
Contributor Author

[ci-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 16, 2025

[ci-depends-on] detected during build #12.

To unlock the merge button, you must

@sofabot
Copy link
Collaborator

sofabot commented Jan 21, 2025

[ci-depends-on] detected during build #13.

To unlock the merge button, you must

@sofabot
Copy link
Collaborator

sofabot commented Jan 22, 2025

[ci-depends-on] detected during build #14.

All dependencies are merged/closed and all ExternalProject pointers are up-to-date. Congrats! 👍

@fredroy
Copy link
Contributor

fredroy commented Jan 22, 2025

[ci-build][force-full-build]

@sofabot
Copy link
Collaborator

sofabot commented Jan 22, 2025

[ci-depends-on] detected during build #15.

All dependencies are merged/closed and all ExternalProject pointers are up-to-date. Congrats! 👍

@fredroy fredroy added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels Jan 22, 2025
@bakpaul bakpaul merged commit f8ed001 into sofa-framework:master Jan 22, 2025
13 of 15 checks passed
bakpaul added a commit to bakpaul/sofa that referenced this pull request Jan 23, 2025
commit f8ed001
Author: Alex Bilger <[email protected]>
Date:   Wed Jan 22 14:24:35 2025 +0100

    [tests] Template method design pattern from BaseTest in derived classes (sofa-framework#5162)

    * [tests] Template method design pattern from BaseTest in derived classes

    * rename

    * use the deprecated function

    * Make SetUp and TearDown final

    * fix SofaCarving test

    * missing override

commit 41bac37
Author: Frederick Roy <[email protected]>
Date:   Tue Jan 21 16:21:12 2025 +0100

    [Helper] XCode: run in Debug (and load debug plugins) (sofa-framework#5168)

    remove deprecated cmake statement

    Co-authored-by: Hugo <[email protected]>

commit 723420c
Author: Hugo <[email protected]>
Date:   Tue Jan 21 16:18:00 2025 +0100

    [Project] Start dev phase v25.06 (sofa-framework#5218)

    * Add ChangeLog for v24.12

    * Bump dev version to v25.06.99

commit b445f57
Author: Frederick Roy <[email protected]>
Date:   Tue Jan 21 16:16:25 2025 +0100

    [Helper] WriteAccessorVector: add resize method with default filler value (sofa-framework#5228)

    add resize with default filler value

commit 4ba3bbe
Author: Hugo <[email protected]>
Date:   Tue Jan 21 15:58:00 2025 +0100

    [Core] Move all LifeCycle classes in a dedicated namespace (sofa-framework#5225)

    Co-authored-by: Paul Baksic <[email protected]>

commit eb9fe59
Author: Alex Bilger <[email protected]>
Date:   Mon Jan 20 05:45:39 2025 +0100

    [Type] Support structured binding for tuple-like types (sofa-framework#5208)

    * [Type] Support structured binding for tuple-like types

    * fix redefinition

    * fix test

commit aedc7ff
Author: Alex Bilger <[email protected]>
Date:   Mon Jan 20 00:10:57 2025 +0100

    [Type] Simplification of the Rebind trait using concepts (sofa-framework#5200)

    * [Type] Simplification of the Rebind trait using concepts

    * fix

    * fix and test

    * parentheses

commit 1f11bee
Author: Alex Bilger <[email protected]>
Date:   Fri Jan 17 12:39:13 2025 +0100

    [Type] Deprecate is_container trait (sofa-framework#5210)

commit 3635db7
Author: Alex Bilger <[email protected]>
Date:   Fri Jan 17 08:19:18 2025 +0100

    [Type] Convert enable_if to concepts in fixed_array (sofa-framework#5205)

commit 1072217
Author: Alex Bilger <[email protected]>
Date:   Fri Jan 17 05:42:59 2025 +0100

    [Type] Convert is_fixed_array trait to concept (sofa-framework#5209)

    Co-authored-by: Frederick Roy <[email protected]>

commit d83d7ed
Author: Alex Bilger <[email protected]>
Date:   Fri Jan 17 01:46:10 2025 +0100

    [Type] Convert is_vector trait to concept (sofa-framework#5201)

    * [Type] Concert is_vector trait to concept

    * fix

    * use the concept

commit 84e79d1
Author: Alex Bilger <[email protected]>
Date:   Thu Jan 16 02:48:10 2025 +0100

    [Type] A concept for isRigidType (sofa-framework#5199)

    * [Type] A concept for isRigidType

    * fix

commit f28c570
Author: Hugo <[email protected]>
Date:   Wed Jan 15 14:29:40 2025 +0100

    [Helper] Fix warning in SelectableItem (sofa-framework#5163)

    * [Helper] Fix warning in SelectableItem

    * simpler code

    * simplify trait using concept

    * remove unused include

    ---------

    Co-authored-by: Alex Bilger <[email protected]>

commit bf730d2
Author: Hugo <[email protected]>
Date:   Wed Jan 15 05:48:20 2025 +0100

    [SolidMechanics] Make Data innerRadius of BeamFEMFF not required (sofa-framework#5203)

commit 964136a
Author: Hugo <[email protected]>
Date:   Thu Jan 9 16:37:53 2025 +0100

    [Mapping] Fix draw in RigidMapping (sofa-framework#5204)

    * [Mapping] Fix draw in RigidMapping

    * Apply suggestions from code review

    Co-authored-by: Frederick Roy <[email protected]>

    ---------

    Co-authored-by: Frederick Roy <[email protected]>

commit 61d4924
Author: Hugo <[email protected]>
Date:   Thu Jan 9 14:35:29 2025 +0100

    [Engine] Fix drawLines from ValuesFromPositions (sofa-framework#5206)

commit 88320b8
Author: Alex Bilger <[email protected]>
Date:   Thu Jan 9 07:39:53 2025 +0100

    [Config] Introduce SOFA modules data structure (sofa-framework#5148)

    * Introduce SOFA modules data structure

    * apply everywhere

    * don't shadow with unique name

    * try to fix

    * generate unit tests automatically

    * remove dependency to string and make modules constexpr

    * restore conversion to string

    * constexpr

    * remove ambiguity

    * include modules.h only when necessary

commit 1cbfa03
Author: Alex Bilger <[email protected]>
Date:   Thu Jan 9 06:09:39 2025 +0100

    [DefaultType] Aliases defined twice (sofa-framework#5198)

commit 589ea72
Author: Alex Bilger <[email protected]>
Date:   Thu Jan 9 01:34:09 2025 +0100

    [Core] Isolate the intrusive reference counting (sofa-framework#5149)

    * [Core] Isolate the intrusive reference counting

    * add unit tests

commit 7b3729f
Author: erik pernod <[email protected]>
Date:   Wed Jan 8 23:33:30 2025 +0100

    [Topology] Add function in BaseMeshTopology to compute all topology containers (sofa-framework#3368)

    * [Topology] rename method initTpology into initContainers and provide access to it from BaseMeshTopology

    * [MultiThreading] Replace call to getter to init topology by call to initContainers

    * Fix MeshTopology initContainer

    * REname initContainers into computeCrossElementBuffers

    * restore comment

    * Fix compilation

    * Update MeshTopology.cpp

    * Update MeshTopology.cpp

    * Update applications/plugins/MultiThreading/src/MultiThreading/component/collision/detection/algorithm/ParallelBVHNarrowPhase.cpp

    Co-authored-by: Hugo <[email protected]>

    * Update MeshTopology, Keep method ComputeCorssElementBuffer to be call only if needed. Not called at init

    * Update MeshTopology.h

    * Update MeshTopology.cpp

    * Update MeshTopology.h

    ---------

    Co-authored-by: Hugo <[email protected]>

commit 292f5bc
Author: Paul Baksic <[email protected]>
Date:   Wed Jan 8 23:32:44 2025 +0100

    [tools] Update post-install fixup to fix rpath (sofa-framework#5197)

    Update post-install fixup to fix rpath

commit 0bc3fb9
Author: Damien Marchal <[email protected]>
Date:   Mon Jan 6 15:30:09 2025 +0100

    [GUI.Qt] Fix invalid color of the warning sign on object (sofa-framework#5190)

    Fix invalid color of the warning sign on object.

commit b5c1f17
Author: Hugo <[email protected]>
Date:   Mon Dec 30 12:28:46 2024 +0100

    [all] Fix additional warnings (sofa-framework#5180)

    * [all] Fix additional warnings

    * Update Sofa/Component/Collision/Response/Mapper/src/sofa/component/collision/response/mapper/init.cpp

    Co-authored-by: erik pernod <[email protected]>

    * Update Sofa/Component/Collision/Response/Mapper/src/sofa/component/collision/response/mapper/init.cpp

    ---------

    Co-authored-by: erik pernod <[email protected]>

commit 82c4ea2
Author: Frederick Roy <[email protected]>
Date:   Sun Dec 29 04:08:56 2024 +0900

    [Multithreading] Apply new factory registration mechanism (sofa-framework#5178)

    * apply new register mechanism to multithreading

    * fix test

    * Apply suggestions from code review (update descriptions)

    Co-authored-by: Hugo <[email protected]>

    ---------

    Co-authored-by: Hugo <[email protected]>

commit bcc5a16
Author: Frederick Roy <[email protected]>
Date:   Sat Dec 28 00:26:20 2024 +0900

    [Helper] PluginManager: support loading from Non-MSVC Multi-Configuration Build (sofa-framework#5133)

    * remove collections from searchable paths

    * cmake: pass config info and use it for search paths

    * remove typo in template parameters

    * add support for minsizerel

    * test existence of directory before browsing

    * just use the string

commit 07ce419
Author: erik pernod <[email protected]>
Date:   Fri Dec 27 10:57:04 2024 +0100

    [Sofa.GL] Fix OglModel crash when texture file is not found (sofa-framework#5182)

    [OglModel] Backup fix on texture not found crash

commit 3711b9e
Author: erik pernod <[email protected]>
Date:   Fri Dec 27 10:56:45 2024 +0100

    [Core] Fix VisualState.h compilation on windows (sofa-framework#5181)

    [Visual] Fix VisualState.h compilation

commit 238851c
Author: Alex Bilger <[email protected]>
Date:   Thu Dec 26 22:01:07 2024 +0100

    [SofaCUDA] Explicit the CUDA C++ standard version to 17 (sofa-framework#5165)

commit 30844d0
Author: Paul Baksic <[email protected]>
Date:   Thu Dec 26 18:36:11 2024 +0100

    [Plugins] Remove unsupported plugins: InvertibleFVM, SofaSimpleGUI and SensableEmulation (sofa-framework#5175)

    Remove unsupported plugins

commit e2b9428
Author: Alex Bilger <[email protected]>
Date:   Mon Dec 23 05:52:16 2024 +0100

    [Testing] Mitigate plugin import leakage between tests (sofa-framework#5161)

    * [Testing] ScopedPlugin

    * add version with lists

    * unload plugins at tear down

    * use ScopedPlugin in a test as an example

    * support multiple calls to loadPlugins

commit ca66554
Author: Alex Bilger <[email protected]>
Date:   Fri Dec 20 13:31:30 2024 +0100

    [Config] Upgrade to C++20 (sofa-framework#5111)

commit 642cdc6
Author: Hugo <[email protected]>
Date:   Fri Dec 20 04:54:50 2024 +0100

    [Lagrangian] Remove unused data numericalTolerance in BLC (sofa-framework#5164)

commit 3e508d3
Author: Alex Bilger <[email protected]>
Date:   Fri Dec 20 04:53:09 2024 +0100

    [Type] Test and clean BoundingBox (sofa-framework#5138)

    [Type] Test for BoundingBox

commit 3ecd69c
Author: Alex Bilger <[email protected]>
Date:   Wed Dec 18 17:24:59 2024 +0100

    [SofaCUDA] Remove NO_CUDA condition (sofa-framework#5171)

commit 4aca268
Author: Frederick Roy <[email protected]>
Date:   Wed Dec 18 21:28:35 2024 +0900

    [Core, Simulation.Core] Registration: (re)enable deprecation warnings (sofa-framework#5155)

    * enable deprecation warnings for RegisterObject

    * enable runtime deprecation warnings

    * re enable disabled tests

    * fix typo

    * fix units tests

    * expect a warning when loading pluginA

    * load plugins once (avoiding registering several times)

    * add more info when warning the user of a deprecated registration

    * set warnings only if dev mode is enabled (SOFA_WITH_DEVTOOLS enabled)

    * apply new mechanism registration to AugmentedLagrangianConstraint

commit 99df0a2
Author: Alex Bilger <[email protected]>
Date:   Tue Dec 17 15:26:53 2024 +0100

    [Visual] Move, rename and clean OglCylinderModel (sofa-framework#5124)

    * move files

    * depreciation

    * rename

    * fix color management

    * remove string to color conversion and use the one from RGBAColor

    * remove unused private methods

    * cleaning

    * component change

    * remove Index alias

    * change the description

    * cache drawTool

    * remove calls to removed functions

commit 02b3366
Author: Paul Baksic <[email protected]>
Date:   Tue Dec 17 02:06:24 2024 +0100

    [All] Fix visualisation (sofa-framework#5152)

    * Fix visualisation

    * Remove inheritance from visual model; Remove the use of visitor for VisualStyle and instead call the fwdDraw directly in the two visualVisitor

    * Change methods name

    * Update Sofa/framework/Core/src/sofa/core/visual/BaseVisualStyle.h

    Co-authored-by: Alex Bilger <[email protected]>

    ---------

    Co-authored-by: Alex Bilger <[email protected]>

commit 4eda9c7
Author: Paul Baksic <[email protected]>
Date:   Fri Dec 13 15:52:24 2024 +0100

    [Constraint.Lagrangian] Add augmented lagrangians (sofa-framework#5003)

    * Add AugmentedLagrangianConstraint response

    * accelerate GS convergence

    * Added virtualization layer for constraints, but linker issue arise. Need to fix it then add virutalization in Contact response

    * FIX linking

    * Add virtualization layer for contact response

    * Fix OBBCapsule

    * Fix Distance grid and simplify fix for OBB

    * Fix default friction used by tests

    * Try fix macos compilation

    * Add tag for augmented lagrangian

    * add details to the description of epsilon data

    * remove multiple registration in factory

    * MAke parameters struct final

    * USe data accessor instead

    * fix compilation

    * Try fix scene tests

    * Apply suggestions from code review

    Co-authored-by: Hugo <[email protected]>

    * Add reference

    ---------

    Co-authored-by: Hugo <[email protected]>

commit 8ba12f0
Author: Hugo <[email protected]>
Date:   Fri Dec 13 03:22:11 2024 +0100

    [examples] Make symplectic option explicit (sofa-framework#5159)

    [Explicit] Make symplectic option explicit

commit 6ae972f
Author: Paul Baksic <[email protected]>
Date:   Wed Dec 11 13:56:40 2024 +0100

    [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL (sofa-framework#5025)

    * Implement missing methods to work in FreeMotionAnimationLoop and add feature to keep the constraint applied after all the key event have passed

    * Apply suggestions from code review

    Co-authored-by: Hugo <[email protected]>

    * Use constexpr when possible

    * Add example scene

    * Simplify the example and added the complete scene in the demo folder

    * Refactor finished mechanism and fix behavior when finished

    * Update scenes and regression tests

    * Put the boolean test on wether the constraint is still active or not inside a method

    ---------

    Co-authored-by: Hugo <[email protected]>

commit 6141aac
Author: Frederick Roy <[email protected]>
Date:   Wed Dec 11 18:29:09 2024 +0900

    [All] Remove spam warnings (sofa-framework#5156)

    * fix duplicated macro

    * fix unused variables

    * use new vecids
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: breaking Change possibly inducing a compilation error pr: status ready Approved a pull-request, ready to be squashed pr: test PR adding test(s) in SOFA
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants