Use SciMLTesting v1.2 (run_tests)#58
Merged
ChrisRackauckas merged 1 commit intoJun 14, 2026
Merged
Conversation
Convert test/runtests.jl to SciMLTesting v1.2. This repo needs the explicit-args form (not bare folder-discovery): the Enzyme/Mooncake test groups run only under "All" yet are not declared in test_groups.toml, and the BigFloat/UnionAll testsets must run under both Core and nopre. Folder-discovery cannot express either, so runtests.jl uses run_tests with explicit core/groups bodies and a curated all = ["Core", "Enzyme", "Mooncake"]. Layout: - Core = test/basictests.jl + test/shared/bigfloat_unionall_tests.jl - nopre = test/nopre/jet_tests.jl (sub-env) + the shared BigFloat/UnionAll file - Enzyme = test/Enzyme/enzyme_tests.jl (main env) - Mooncake = test/Mooncake/mooncake_tests.jl (main env) Behavior-preserving for every CI-reachable GROUP (verified locally on Julia 1.11 via Pkg.test): - Core -> basictests (48) + BigFloat/UnionAll (7) - nopre -> JET (7) + BigFloat/UnionAll (7) - All -> basictests (48) + BigFloat/UnionAll (7, once) + Enzyme (65) + Mooncake (13) Deps: add SciMLTesting + SafeTestsets to the root test target and the nopre sub-env; drop the now-unused Pkg test extra (the harness owns all Pkg ops). Removed the stale committed test/nopre/Manifest.toml (regenerated at run time by the harness's Pkg.develop + instantiate). 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>
1f63884 to
a48f5ec
Compare
Contributor
Author
|
Rebuilt this branch as the SciMLTesting v1.2 conversion (reset to upstream/main, then rebuilt). Uses explicit-args |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converts
test/runtests.jlto SciMLTesting v1.2.Why explicit-args (not bare folder-discovery)
This repo's group semantics cannot be expressed by v1.2 folder-discovery:
"All"in the oldruntests.jl, yet are not declared intest_groups.toml(which lists onlyCoreandnopre). Folder-discovery's"All"= Core + declared in-all groups, so it cannot pull in groups absent fromtest_groups.toml— and the spec requires leavingtest_groups.tomlunchanged.runtests.jlwith noGROUPguard, so they run under bothCoreandnopre. Folder-discovery has no "run this file in multiple groups" mechanism.So
runtests.jlusesrun_testsin explicit-args mode (the v1.2 backward-compatible path, same shape as RecursiveArrayTools.jl / OrdinaryDiffEq.jl) with explicitcore/groupsbodies and a curatedall = ["Core", "Enzyme", "Mooncake"].Layout
test/basictests.jl+test/shared/bigfloat_unionall_tests.jltest/nopre/jet_tests.jl(sub-env,test/nopre/Project.toml) + the shared BigFloat/UnionAll filetest/Enzyme/enzyme_tests.jl(main test env)test/Mooncake/mooncake_tests.jl(main test env)test/shared/holds the BigFloat/UnionAll testsets,included by both the Core and nopre bodies.Deps
[extras]/[targets].test+[compat]: addSciMLTesting+SafeTestsets; keepEnzyme/EnzymeCore/Mooncake/Test; drop the unusedPkgtest extra (the harness owns allPkgops).test/nopre/Project.toml: addSciMLTesting+SafeTestsets+ a relative[sources]to the repo root.test/nopre/Manifest.toml— the harness regenerates it at run time viaPkg.develop+Pkg.instantiate(as the oldruntests.jldid).test/test_groups.tomlunchanged.Verification
Behavior-preserving for every CI-reachable
GROUP. Ran locally on Julia 1.11 viaPkg.test:CorenopreAll(The standalone
GROUP=Enzyme/GROUP=Mooncakelanes no longer also run the unconditional BigFloat/UnionAll testsets, but thoseGROUPvalues are not intest_groups.tomland are never invoked by CI.)This supersedes the earlier
@safetestsetcanonicalization on this branch (which had dropped the Enzyme/Mooncake groups entirely).Ignore until reviewed by @ChrisRackauckas.