Skip to content

Import SciMLBase directly in module-qualified tests#1514

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-catalyst-simulation-test-import
Draft

Import SciMLBase directly in module-qualified tests#1514
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-catalyst-simulation-test-import

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

This draft PR should be ignored until reviewed by @ChrisRackauckas.

Summary

  • import SciMLBase directly in every test file that uses a module-qualified SciMLBase. reference
  • remove reliance on dependency re-exports to place the SciMLBase module binding in each isolated SafeTestset
  • cover all eight such test files; simulate_ODEs.jl is the currently failing case and the other seven imports are preventive hygiene

This PR targets master directly and is independent of #1511 and #1512.

Root cause

Catalyst's ODE test has called SciMLBase.successful_retcode since Catalyst commit 4e617286 without importing SciMLBase in that file. Historically, using OrdinaryDiffEq made the module binding available transitively.

OrdinaryDiffEq commit 69e8dda5 (parent b4bae612) stripped the v7 package down to its minimal re-export shell. With the Catalyst minimum-compatible graph at OrdinaryDiffEq 7.0.0, using OrdinaryDiffEq no longer places a SciMLBase module binding in the test module. The first module-qualified check therefore raised UndefVarError: SciMLBase not defined.

Validation

Exact minimum-compatible graph on Julia 1.10.11: OrdinaryDiffEq 7.0.0, SciMLBase 3.18.0, DiffEqBase 7.2.0, ModelingToolkitBase 1.46.0, and JumpProcesses 9.26.0.

  • clean master, GROUP=Simulation: ODE simulations had 87 passes and 132 errors (219 total), all from the missing SciMLBase binding
  • this branch, GROUP=Simulation: ODE 219/219, automatic Jacobian 224/224, and SDE 195/195
  • this branch, GROUP=Hybrid: 4,218/4,218
  • this branch, GROUP=Spatial: all testsets passed, including affected ODE discrete-space tests 502/502 and jump discrete-space tests 206/206
  • focused official-harness run for testsets blocked downstream in their full groups: DSL Options 317 pass / 1 broken / 318 total; MTK Structure Indexing 674 pass / 24 broken / 698 total
  • repository audit: exactly eight Julia test files contain SciMLBase., and all eight now import SciMLBase directly
  • all seven TOML files parse successfully
  • git diff --check passes

Two unrelated failures on the unmodified exact-minimum graph stop the complete Modeling and Simulation groups after the affected import paths have been validated:

  • Events: 62 pass / 1 error / 1 broken; VectorContinuousCallback has no affect_neg!
  • later jump tests: 107 pass / 4 errors; SSAIntegrator has no derivative_discontinuity

Those callback compatibility boundaries are being reproduced and bisected separately rather than folded into this import-only PR.

Runic checked all 89 Julia files: 15 already conform and 74 have broad pre-existing formatting drift. The eight import additions themselves require no formatting adjustment, so this PR does not mix in repository-wide reformatting.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
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.

2 participants