Skip to content

Use SciMLTesting v1.2 (run_tests harness)#174

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

Use SciMLTesting v1.2 (run_tests harness)#174
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 test/runtests.jl to the SciMLTesting v1.2 run_tests dispatcher.

Because the GPU group declares its own sub-env (test/GPU/Project.toml), must run only for GROUP=GPU, must be excluded from All, and must not be declared in test_groups.toml (which drives the grouped-tests.yml CI matrix — declaring GPU there would schedule it on non-GPU runners), pure folder-discovery (run_tests()) cannot express it: folder-discovery throws on an undeclared GROUP=GPU. This PR therefore uses the v1.2-supported explicit-args form of run_tests, mirroring the RecursiveArrayTools.jl / OrdinaryDiffEq.jl conversions.

Changes:

  • test/runtests.jlusing SciMLTesting; run_tests(; core = ..., groups = Dict("GPU" => (; env, body))). The Core thunk runs the same 12 @safetestset files for All/Core; the env-bearing GPU group runs only for GROUP=GPU and is excluded from All — identical to the original if GROUP == "All" || "Core" / if GROUP == "GPU" dispatch.
  • test/gpu_all.jl moved into test/GPU/ alongside its sub-env.
  • Root Project.toml: added SciMLTesting to [extras], [targets].test, [compat]; dropped Pkg (no test file uses it — the harness owns all Pkg ops).
  • test/GPU/Project.toml: added SciMLTesting + SafeTestsets + Test (with compat).
  • test/test_groups.toml left unchanged.

Verified statically (TOML parse + Meta.parseall) and via an end-to-end dispatch run on Julia 1.11 confirming the fired-file set per GROUP (All, Core, GPU) is identical to the pre-conversion dispatcher.

Ignore until reviewed by @ChrisRackauckas.

Convert test/runtests.jl to the SciMLTesting v1.2 run_tests dispatcher.
The GPU group declares its own sub-env and must NOT be in test_groups.toml
(which drives the grouped-tests CI matrix) yet must still route on GROUP=GPU
and be excluded from "All"; pure folder-discovery cannot express that, so the
explicit-args form (a v1.2-supported path) is used. gpu_all.jl moved into
test/GPU/ alongside its env. Added SciMLTesting to the root test target and to
the GPU sub-env (with SafeTestsets + Test); dropped Pkg from the root test deps
(no test file uses it; the harness owns all Pkg operations). test_groups.toml
left unchanged.

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 (run_tests harness) Jun 14, 2026
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 23:54
@ChrisRackauckas ChrisRackauckas merged commit f48a381 into SciML:master Jun 14, 2026
16 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