Part of #4191. No public API or functionality changes; the shared compatibility requirements in the tracker apply.
newton/tests/test_mujoco_solver.py contains dozens of test classes covering independent solver behaviors. Rename it to match the SolverMuJoCo naming convention and divide the suite into focused modules.
Scope
- Start with a mechanical rename to
test_solver_mujoco.py, updating repository references, including docs/solvers/mujoco.rst.
- Move complete classes into
test_solver_mujoco_*.py modules for body properties, joint properties, geometry, constraints, contacts, conversion, options, attributes, actuators, and solref behavior.
- Keep a small core/smoke module at
test_solver_mujoco.py.
- Put shared fixtures/builders/assertions in a non-discovered helper module, such as
newton/tests/utils/mujoco.py. Avoid importing discoverable TestCase classes into sibling test modules unnecessarily.
- Preserve assertions, seeds, parameterization, skip conditions, and setup/teardown lifetime during the move.
Acceptance criteria
- Compare the discovered test multiset before/after using an explicit old-to-new module mapping; check no missing or accidentally duplicated cases.
- Account for inherited tests: the initial audit found 272 defined test methods but 296 cases including inherited methods.
TestMuJoCoSolverPropertiesBase and its descendants inherit tests; do not silently remove those executions while extracting fixtures.
- Verify full discovery, targeted
-k test_solver_mujoco selection, and direct module execution. Document the intentional test-module rename.
- Run the moved suite with relevant CPU/CUDA and optional dependency configurations.
- Keep intentional test deduplication or fixture redesign separate from mechanical moves. Related small MuJoCo test files can remain unchanged unless needed for this split.
Part of #4191. No public API or functionality changes; the shared compatibility requirements in the tracker apply.
newton/tests/test_mujoco_solver.pycontains dozens of test classes covering independent solver behaviors. Rename it to match theSolverMuJoConaming convention and divide the suite into focused modules.Scope
test_solver_mujoco.py, updating repository references, includingdocs/solvers/mujoco.rst.test_solver_mujoco_*.pymodules for body properties, joint properties, geometry, constraints, contacts, conversion, options, attributes, actuators, and solref behavior.test_solver_mujoco.py.newton/tests/utils/mujoco.py. Avoid importing discoverable TestCase classes into sibling test modules unnecessarily.Acceptance criteria
TestMuJoCoSolverPropertiesBaseand its descendants inherit tests; do not silently remove those executions while extracting fixtures.-k test_solver_mujocoselection, and direct module execution. Document the intentional test-module rename.