Repository navigation
DAGMC Model Test Fixutres #4093
Description
Activity
I took a pass at the repeated CAD-model setup here.
A fairly small first step seems to be sharing the geometry/file-location setup as a pytest fixture, while continuing to construct mutable model state inside each test. That avoids accidentally coupling tests that modify their models or perform their own cleanup.
I tried that boundary locally on three of the plotting tests and the isolated fixture/path checks pass.
Does that sound like the intended scope for the first refactor? If so, I can open the small fixture conversion first rather than trying to migrate the whole test suite at once.
Hi @kvnloo, thanks for offering to take this on! I'll leave it to you!
I got a start on this as well in a branch of mine here if you'd like to see where I was headed with it. There are some other testing data assets for weight windows I roped into this as well. Please feel free to use this as a reference if you like.
Reacted by Kevin Rajankvnloo commented
on Sep 29, 2026 ContributorMore actionsQuick map of the implementation slices now that the first pass is split up:
- test: share DAGMC unit-test geometry fixtures #4150 — shared legacy DAGMC path/universe fixtures for bounds/model/plotting consumers; mutable model state remains function-scoped.
- test: share weight-window data paths #4151 — weight-window unit tests reuse the canonical regression data paths and drop the two unit aliases.
- test: reuse canonical unstructured mesh assets #4152 — unit mesh/source/weight-window tests reuse canonical regression unstructured-mesh assets and drop the duplicate unit copies.
- test: stage canonical DAGMC geometry for external driver #4153 — the external C++ DAGMC regression test stages the canonical legacy geometry at runtime instead of keeping another checked-in copy.
All four are intentionally test-only and independently reviewable. The exact fork heads for #4150/#4151/#4153 passed both fork workflows; #4152 was amended to include one additional content-identical VTK alias and is being revalidated on the fork now.
I also have the remaining unit-level legacy DAGMC alias removal stacked downstream rather than adding more scope to #4150. I’ll keep that parked until the fixture boundary in #4150 gets feedback.
Description
There are DAGMC models in the test suite that are used in multiple locations. In each location the OpenMC model is being reconstructed or a file is being referenced, sometimes via symbolic link. It would be good to provide fixtures to the test suite for these models and files that are accessible from any test file in the suite to simplify addition of further DAGMC tests.
Compatibility
No compatibility issues here.