Repository navigation
Use SciMLTesting v1.2 (run_tests) - #129
Merged
ChrisRackauckas merged 1 commit intoJun 14, 2026
Merged
Conversation
Convert test/runtests.jl to SciMLTesting v1.2. Core is an explicit thunk that includes core_tests.jl into Main (NOT an isolated @safetestset module): the serialization round-trip test deserializes RuntimeGeneratedFunctions whose module tag is Main.#_RGF_ModTag, so the body must run where RuntimeGeneratedFunctions.init initializes Main — folder-discovery's @safetestset isolation cannot express this. QA uses the standard test/qa/ sub-env. The subprocess helper serialize_rgf.jl is moved to test/shared/ (a non-group folder) so it is not mistaken for a Core test file, and core_tests.jl references it by absolute path. core_tests.jl gains the using statements the old runtests.jl provided (Test, RuntimeGeneratedFunctions, BenchmarkTools, Serialization). precomp/ is untouched. Added SciMLTesting + SafeTestsets to the test target and SciMLTesting to test/qa/Project.toml; dropped Pkg (the harness owns all Pkg ops; no test file uses Pkg). test_groups.toml unchanged. Verified locally on Julia 1.11: GROUP=Core and GROUP=QA both pass. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisRackauckas-Claude
force-pushed
the
sciml-testing-rollout
branch
from
June 14, 2026 13:30
f2e04fd to
fd6e5ad
Compare
ChrisRackauckas
marked this pull request as ready for review
June 14, 2026 23:54
ChrisRackauckas
added a commit
that referenced
this pull request
Jun 15, 2026
The QA group's test/qa/Project.toml declared the in-repo package source as `path = ".."`, which resolves relative to the env directory test/qa to test/ — a directory with no Project.toml. With SciMLTesting v1.2's run_tests (PR #129), activate_group_env now walks the [sources] graph via develop_sources! (the Julia 1.10 [sources] backport) and Pkg.develop's each path, so it errors: could not find project file (Project.toml or JuliaProject.toml) in package at `.../test/` maybe `subdir` needs to be specified The env directory test/qa is two levels below the repo root, so the source path must be ../.. (matching every other converted SciML repo, e.g. SciMLOperators/SciMLStructures). This made both the QA and Core grouped-test jobs fail on the LTS (Julia 1.10) where the [sources] backport is active. Verified locally on Julia 1.10: GROUP=QA now passes (QA 10/10) and GROUP=Core passes; before the fix GROUP=QA reproduced the CI error exactly. Co-authored-by: Chris Rackauckas - Beep Boop Edition <accounts@chrisrackauckas.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Convert
test/runtests.jlto SciMLTesting v1.2.core_tests.jlintoMain, not an isolated@safetestsetmodule.core_tests.jl's serialization test deserializes aRuntimeGeneratedFunctionproduced by a separate process whose module tag isMain.#_RGF_ModTag; the body must therefore run whereRuntimeGeneratedFunctions.initinitializesMain. Folder-discovery's@safetestsetisolation runsiniton a submodule, breaking the deserialize (verified:UndefVarError: #_RGF_ModTag not defined in Main), so Core uses the v1.2 explicit-args thunk path.test/qa/(qa.jl) run in the existing isolatedtest/qa/Project.tomlsub-env viarun_tests'sqa = (; env = ..., body = ...).serialize_rgf.jlis moved totest/shared/(a non-group folder) so it is not discovered as a Core test file;core_tests.jlnow references it by absolute path.core_tests.jlgains theusingstatements the oldruntests.jlprovided (Test,RuntimeGeneratedFunctions,BenchmarkTools,Serialization).precomp/is untouched.SciMLTesting+SafeTestsetsto the test target andSciMLTestingtotest/qa/Project.toml; droppedPkg(the harness owns allPkgoperations; no test file usesPkg).test/test_groups.tomlunchanged.Behavior-preserving: the file set run under
GROUP=CoreandGROUP=QAis unchanged. Verified locally on Julia 1.11 —GROUP=Corepasses (including the cross-process serialization round-trip) andGROUP=QApasses (Aqua, 10/10).Supersedes the v1.0.0 harness conversion previously on this branch.
Ignore until reviewed by @ChrisRackauckas.