Skip to content

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

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)#159
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:sciml-testing-rollout

Conversation

@ChrisRackauckas-Claude

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

Copy link
Copy Markdown
Contributor

Converts test/runtests.jl to the SciMLTesting v1.2 run_tests dispatcher (folder model).

  • Core test files are made self-contained: the shared helper definitions previously inlined in runtests.jl (every_ad, every_ad_with_options, the RuleConfig subtypes, CustomTag, the fake sparsity/coloring detectors, and the using lines) are extracted to test/shared/test_setup.jl, which each Core file includes. test/shared/ is the sanctioned non-group bucket, so it is never auto-discovered as a test.
  • QA runs in its existing test/qa/ sub-env.
  • The public.jl version guard (VERSION >= v"1.11.0-DEV.469") is preserved via an explicit-args core thunk. Folder-discovery cannot express a per-file version guard, and public.jl must NOT run on the LTS (1.10) matrix entry (names(ADTypes) does not return public symbols before 1.11, so the assertion would fail).
  • using ADTypes is kept at top level (Main) because the printing tests qualify type modules via Base.active_module().
  • Deps: added SciMLTesting and SafeTestsets to the root [extras]/[targets].test/[compat] and to test/qa/Project.toml; dropped Pkg from the root test deps (no longer used by the harness). test/test_groups.toml unchanged.

Verified locally (Pkg.test): GROUP=Core passes on Julia 1.11 (6 testsets, incl. Public) and on 1.10 LTS (5 testsets, Public correctly skipped); GROUP=QA passes on 1.11 (11/11, exercising the sub-env activation path).

Supersedes #158 (the @safetestset canonicalization), which is folded into this PR.

Ignore until reviewed by @ChrisRackauckas.

Convert test/runtests.jl to the SciMLTesting run_tests dispatcher. Core test
files are made self-contained by extracting the shared helper definitions
(every_ad, RuleConfig types, fake detectors) into test/shared/test_setup.jl,
which each Core file includes. The QA group runs in its test/qa sub-env.

The public.jl version guard (VERSION >= v"1.11.0-DEV.469") is preserved via the
explicit-args core thunk, since folder-discovery cannot express a per-file
version guard and public.jl must not run on the LTS (1.10) matrix entry.

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 Adopt SciMLTesting 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 839efbb into SciML:main Jun 14, 2026
12 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