Skip to content

Use SciMLTesting v1.2 (explicit-args run_tests)#621

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

Use SciMLTesting v1.2 (explicit-args run_tests)#621
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sciml-testing-rollout

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Convert the root test/runtests.jl to drive SciMLTesting v1.2's run_tests.

This is a monorepo (lib/DataDriven{DMD,Lux,SR,Sparse}), so it uses the explicit-args form of run_tests (not folder-discovery), matching the OrdinaryDiffEq.jl / RecursiveArrayTools.jl pattern. Folder-discovery cannot express this repo's shape:

  • the nopre group is curated out of All (All runs only Core), and
  • the root file still routes a sublibrary GROUP (e.g. DataDrivenDMD, DataDrivenSparse_QA) to Pkg.test of lib/<sublib> for local runs (CI tests sublibs via SublibraryCI.yml).

Both require explicit-args mode, whose lib_dir/all knobs the folder-discovery branch returns before reaching.

Changes:

  • detect_sublibrary_group (from SciMLTesting) replaces the hand-rolled _detect_sublibrary_group; the <1.11 transitive [sources] develop walk + Pkg.test(sublib, coverage=true) sublib pre-step is kept verbatim.
  • The root dispatch (Core / All / nopre) goes through run_tests(; core = <7 Core @safetestsets>, groups = Dict("nopre" => (; env = test/nopre, body = JET)), all = ["Core"]).
  • SciMLTesting added to the root test deps and to test/nopre/Project.toml (with SafeTestsets + Test). Pkg is retained (still used by the sublib pre-step). test/test_groups.toml is unchanged.

Behavior-preserving: the exact set of tests run under each GROUP value (All/Core/Downstream -> Core; nopre -> JET; sublib names -> sublib Pkg.test) is unchanged. Verified by driving the v1.2.0 run_tests dispatcher over every GROUP value.

Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

Convert the root test/runtests.jl to drive SciMLTesting v1.2's run_tests.
As a monorepo (lib/DataDriven{DMD,Lux,SR,Sparse}) with a curated `All`
(only Core) and local sublibrary routing, it uses the explicit-args form
(not folder-discovery, which cannot express either): run_tests is called
with the 7 Core @safetestsets as `core`, the nopre JET group as an
env-bearing `groups` entry, and `all = ["Core"]`. detect_sublibrary_group
(from SciMLTesting) replaces the hand-rolled helper; the <1.11 transitive
[sources] develop walk + Pkg.test(sublib, coverage=true) sublib pre-step
is kept verbatim. SciMLTesting added to the root test deps and to
test/nopre/Project.toml; Pkg retained (sublib pre-step uses it).
test/test_groups.toml unchanged.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 23:54
@ChrisRackauckas ChrisRackauckas merged commit 09dd944 into SciML:master Jun 14, 2026
17 of 20 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