From 3fcdf540cc85c005428353006569fa155a9aa48f Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Wed, 29 Jul 2026 15:10:33 -0400 Subject: [PATCH] Develop local sources in Julia 1.10 root tests Julia 1.10 ignores root [sources] when Pkg.test creates its temporary environment, which can pair local integration tests with older registered sublibraries. Develop the local source graph before root group dispatch and assert the limiter tests load the implicated local packages. Co-Authored-By: Chris Rackauckas --- test/Integrators_I/step_limiter_test.jl | 7 +++++++ test/runtests.jl | 3 +++ 2 files changed, 10 insertions(+) diff --git a/test/Integrators_I/step_limiter_test.jl b/test/Integrators_I/step_limiter_test.jl index ea5a4c40e9..befe1f38ba 100644 --- a/test/Integrators_I/step_limiter_test.jl +++ b/test/Integrators_I/step_limiter_test.jl @@ -12,6 +12,13 @@ using OrdinaryDiffEqExtrapolation using OrdinaryDiffEqFIRK: AdaptiveRadau, RadauIIA9, RadauIIA5, RadauIIA3 using LinearAlgebra +@testset "Tests use local monorepo sources" begin + repo = normpath(joinpath(@__DIR__, "..", "..")) + @test pkgdir(OrdinaryDiffEqCore) == joinpath(repo, "lib", "OrdinaryDiffEqCore") + @test pkgdir(OrdinaryDiffEqLowOrderRK) == joinpath(repo, "lib", "OrdinaryDiffEqLowOrderRK") + @test pkgdir(OrdinaryDiffEqSSPRK) == joinpath(repo, "lib", "OrdinaryDiffEqSSPRK") +end + # define the counting variable const STEP_LIMITER_VAR = Ref(0) # define the step_limiter! function which just counts the number of step_limiter calls diff --git a/test/runtests.jl b/test/runtests.jl index 00fbfd92ca..61300ea33d 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -279,6 +279,9 @@ end Pkg.test(base_group, julia_args = ["--check-bounds=auto", "--compiled-modules=yes", "--depwarn=yes"], force_latest_compatible_version = false, allow_reresolve = true) end else + # Julia 1.10 does not resolve root [sources], so develop local sublibraries explicitly. + develop_sources!(dirname(@__DIR__)) + # Root-package group dispatch. `run_tests` owns the All / Interface / # Integrators / Regression / QA / functional-group routing that the old # hand-written `if GROUP == ...` ladder expressed. The group bodies