Skip to content

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

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

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Converts the root test suite to use SciMLTesting v1.2.

This is a monorepo: the sublibraries under lib/ are tested by the separate SublibraryCI.yml (sublibrary-project-tests.yml, project model — tests.yml git-develops each sublibrary's in-repo [sources], no root dispatcher needed). The root CI.yml runs grouped-tests.yml, whose root matrix is computed from test/test_groups.toml (which declares only [Core]), so the root runtests.jl is only ever invoked with GROUP=Core (or the All default).

Changes:

  • test/runtests.jl now does using SciMLTesting and:
    • keeps the explicit sublibrary pre-step verbatim (the <1.11 transitive [sources] develop walk and the exact withenv(OPTIMALUNCERTAINTYQUANTIFICATION_TEST_GROUP => ...) Pkg.test(sublib; julia_args=..., force_latest_compatible_version=false, allow_reresolve=true) invocation) so the sublib Pkg.test stays byte-for-byte;
    • replaces the hand-rolled _detect_sublibrary_group closure with the exported SciMLTesting.detect_sublibrary_group (verified to return identical (sublibrary, test_group) pairs for every relevant GROUP value, including the no-match fall-through);
    • dispatches the root Core/All group through run_tests(; core = ...), running the umbrella-load testset.
  • test/Core/umbrella_load.jl is moved to test/umbrella_load.jl (the core body reads the top-level test file; the empty test/Core/ directory is removed).
  • Added SciMLTesting to the root test deps ([extras]/[targets].test/[compat]). Pkg is retained — it is still used by the sublibrary pre-step. test/test_groups.toml is unchanged.

Behavior-preserving: the set of tests run under each GROUP value is unchanged (Core/All -> umbrella load; <sublib> / <sublib>_<grp> -> the same sublibrary Pkg.test).

Ignore until reviewed by @ChrisRackauckas.

Route the root test dispatcher through SciMLTesting v1.2. The sublibrary
pre-step is preserved verbatim (the <1.11 transitive [sources] develop walk
and the exact withenv/Pkg.test invocation), with the hand-rolled
_detect_sublibrary_group closure replaced by SciMLTesting.detect_sublibrary_group
(verified to return identical (sublibrary, test_group) pairs for every GROUP
value). The root Core/All group now dispatches through run_tests(; core = ...),
running the umbrella-load testset.

Move test/Core/umbrella_load.jl to test/umbrella_load.jl (the core body reads
the top-level test file). Add SciMLTesting to the root test deps; keep Pkg (the
sublibrary pre-step still uses it). test/test_groups.toml is 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 7db9d02 into SciML:main Jun 14, 2026
10 of 15 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