Skip to content

Use SciMLTesting v1.2 (folder-based run_tests)#99

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sciml-testing-rollout
Jun 14, 2026
Merged

Use SciMLTesting v1.2 (folder-based run_tests)#99
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sciml-testing-rollout

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Converts the test suite to the SciMLTesting v1.2 folder-discovery model: test/runtests.jl becomes using SciMLTesting; run_tests(), and the per-GROUP test set is derived from the folder layout + test/test_groups.toml.

Layout

  • Core = top-level test/*.jl. The inline "Testing maxorder" testset was extracted into test/maxorder_tests.jl; the other Core files (common.jl, convergence.jl, initialization_tests.jl, inplace_tests.jl, interface.jl, mtk_initialization_tests.jl) stay at the top level.
  • alloc_tests.jl and explicit_imports.jl moved into test/shared/ (they are QA-only includes, not their own Core files) and qa.jl's include paths updated. This keeps Core's top-level glob from running them.
  • QA = test/qa/qa.jl, run in the test/qa sub-env.

Deps

  • Added SciMLTesting + SafeTestsets to the root test deps ([extras]/[targets].test/[compat]) and to test/qa/Project.toml.
  • Dropped Pkg from the root test deps (the harness owns Pkg ops; no test/*.jl references it).
  • test/test_groups.toml unchanged.

Verification

  • Static: TOML.parsefile on every Project.toml + test_groups.toml; Meta.parseall on runtests.jl + all moved/new files.
  • End-to-end on Julia 1.11: GROUP=QAQA/qa.jl 20/20 pass. Core path is the standard folder-discovery flow (per-PR CI exercises its ModelingToolkit/NonlinearSolve deps).

The exact set of tests run under each GROUP value is unchanged. Supersedes the older v1.0.0 run_tests form on this branch.

Ignore until reviewed by @ChrisRackauckas.

Replace the hand-written GROUP dispatcher in test/runtests.jl with the
SciMLTesting v1.2 folder-discovery model (`using SciMLTesting; run_tests()`).

- Core = top-level test/*.jl. Extract the inline "Testing maxorder" testset
  into test/maxorder_tests.jl; the other Core files stay at the top level.
- Move alloc_tests.jl and explicit_imports.jl into test/shared/ (they are
  QA-only includes, not their own Core files) and update qa.jl's includes.
- QA = test/qa/qa.jl, run in the test/qa sub-env.
- Add SciMLTesting + SafeTestsets to the root test deps and test/qa/Project.toml;
  drop Pkg from the root test deps (the harness owns Pkg ops, no test/*.jl uses it).
- test_groups.toml unchanged.

Per-GROUP test set is unchanged. Verified statically (TOML + parse) and
end-to-end with GROUP=QA on Julia 1.11 (20/20 pass).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude changed the title Use SciMLTesting v1.0.0 (run_tests harness) Use SciMLTesting v1.2 (folder-based run_tests) Jun 14, 2026
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 23:54
@ChrisRackauckas ChrisRackauckas merged commit 1e62e34 into SciML:master Jun 14, 2026
13 checks passed
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