diff --git a/Project.toml b/Project.toml index d4bd8f3..b68846a 100644 --- a/Project.toml +++ b/Project.toml @@ -28,8 +28,9 @@ DDEProblemLibrary = "0.1" JumpProblemLibrary = "1, 2.0" NonlinearProblemLibrary = "0.1" ODEProblemLibrary = "1" +Pkg = "1.10" SafeTestsets = "0.1" -SciMLTesting = "1" +SciMLTesting = "1.7" SDEProblemLibrary = "1" Test = "1.10" julia = "1.10" diff --git a/lib/BVProblemLibrary/src/BVProblemLibrary.jl b/lib/BVProblemLibrary/src/BVProblemLibrary.jl index 09067f5..2070818 100644 --- a/lib/BVProblemLibrary/src/BVProblemLibrary.jl +++ b/lib/BVProblemLibrary/src/BVProblemLibrary.jl @@ -1,6 +1,8 @@ module BVProblemLibrary -using DiffEqBase, Markdown, SpecialFunctions +using DiffEqBase: DiffEqBase, BVPFunction, BVProblem +using Markdown: Markdown +using SpecialFunctions: SpecialFunctions, erf include("linear.jl") include("nonlinear.jl") diff --git a/lib/BVProblemLibrary/test/qa/Project.toml b/lib/BVProblemLibrary/test/qa/Project.toml index 3b6a6c9..7245dbb 100644 --- a/lib/BVProblemLibrary/test/qa/Project.toml +++ b/lib/BVProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" BVProblemLibrary = "ded0fc24-dfea-4565-b1d9-79c027d14d84" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ BVProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" BVProblemLibrary = "0.1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/BVProblemLibrary/test/qa/qa.jl b/lib/BVProblemLibrary/test/qa/qa.jl index 36a36a3..d0cdafb 100644 --- a/lib/BVProblemLibrary/test/qa/qa.jl +++ b/lib/BVProblemLibrary/test/qa/qa.jl @@ -1,6 +1,3 @@ -using BVProblemLibrary -using Aqua +using SciMLTesting, BVProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(BVProblemLibrary; ambiguities = false) -end +run_qa(BVProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/lib/DAEProblemLibrary/Project.toml b/lib/DAEProblemLibrary/Project.toml index 1492602..28555f9 100644 --- a/lib/DAEProblemLibrary/Project.toml +++ b/lib/DAEProblemLibrary/Project.toml @@ -9,6 +9,7 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" [compat] DiffEqBase = "6, 7" Markdown = "1.10" +Pkg = "1.10" SafeTestsets = "0.1" Test = "1.10" julia = "1.10" diff --git a/lib/DAEProblemLibrary/src/DAEProblemLibrary.jl b/lib/DAEProblemLibrary/src/DAEProblemLibrary.jl index 383121f..5d6644b 100644 --- a/lib/DAEProblemLibrary/src/DAEProblemLibrary.jl +++ b/lib/DAEProblemLibrary/src/DAEProblemLibrary.jl @@ -1,6 +1,7 @@ module DAEProblemLibrary -using DiffEqBase, Markdown +using DiffEqBase: DiffEqBase, DAEProblem +using Markdown: Markdown, @doc_str #DAE Example Problems export prob_dae_resrob, prob_dae_transamp diff --git a/lib/DAEProblemLibrary/test/qa/Project.toml b/lib/DAEProblemLibrary/test/qa/Project.toml index 5883ba1..1c0a85d 100644 --- a/lib/DAEProblemLibrary/test/qa/Project.toml +++ b/lib/DAEProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" DAEProblemLibrary = "dfb8ca35-80a1-48ba-a605-84916a45b4f8" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ DAEProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" DAEProblemLibrary = "0.1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/DAEProblemLibrary/test/qa/qa.jl b/lib/DAEProblemLibrary/test/qa/qa.jl index 0bb41bc..19f7b6c 100644 --- a/lib/DAEProblemLibrary/test/qa/qa.jl +++ b/lib/DAEProblemLibrary/test/qa/qa.jl @@ -1,6 +1,3 @@ -using DAEProblemLibrary -using Aqua +using SciMLTesting, DAEProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(DAEProblemLibrary; ambiguities = false) -end +run_qa(DAEProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/lib/DDEProblemLibrary/Project.toml b/lib/DDEProblemLibrary/Project.toml index 6621d19..8751596 100644 --- a/lib/DDEProblemLibrary/Project.toml +++ b/lib/DDEProblemLibrary/Project.toml @@ -7,6 +7,7 @@ DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" [compat] DiffEqBase = "6, 7" +Pkg = "1.10" SafeTestsets = "0.1" Test = "1.10" julia = "1.10" diff --git a/lib/DDEProblemLibrary/src/DDEProblemLibrary.jl b/lib/DDEProblemLibrary/src/DDEProblemLibrary.jl index 3284271..efc1a67 100644 --- a/lib/DDEProblemLibrary/src/DDEProblemLibrary.jl +++ b/lib/DDEProblemLibrary/src/DDEProblemLibrary.jl @@ -1,6 +1,6 @@ module DDEProblemLibrary -using DiffEqBase +using DiffEqBase: DiffEqBase, DDEFunction, DDEProblem, remake # DDE Example Problems # examples with constant delays diff --git a/lib/DDEProblemLibrary/test/qa/Project.toml b/lib/DDEProblemLibrary/test/qa/Project.toml index 233d74a..feb7f93 100644 --- a/lib/DDEProblemLibrary/test/qa/Project.toml +++ b/lib/DDEProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" DDEProblemLibrary = "f42792ee-6ffc-4e2a-ae83-8ee2f22de800" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ DDEProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" DDEProblemLibrary = "0.1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/DDEProblemLibrary/test/qa/qa.jl b/lib/DDEProblemLibrary/test/qa/qa.jl index ce167c0..10c3fbb 100644 --- a/lib/DDEProblemLibrary/test/qa/qa.jl +++ b/lib/DDEProblemLibrary/test/qa/qa.jl @@ -1,6 +1,3 @@ -using DDEProblemLibrary -using Aqua +using SciMLTesting, DDEProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(DDEProblemLibrary; ambiguities = false) -end +run_qa(DDEProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/lib/JumpProblemLibrary/Project.toml b/lib/JumpProblemLibrary/Project.toml index f595ccd..ea7e7fb 100644 --- a/lib/JumpProblemLibrary/Project.toml +++ b/lib/JumpProblemLibrary/Project.toml @@ -8,6 +8,7 @@ RuntimeGeneratedFunctions = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" [compat] Catalyst = "16" +Pkg = "1.10" RuntimeGeneratedFunctions = "0.5" SafeTestsets = "0.1" Test = "1.10" diff --git a/lib/JumpProblemLibrary/src/JumpProblemLibrary.jl b/lib/JumpProblemLibrary/src/JumpProblemLibrary.jl index f5700b5..9263e67 100644 --- a/lib/JumpProblemLibrary/src/JumpProblemLibrary.jl +++ b/lib/JumpProblemLibrary/src/JumpProblemLibrary.jl @@ -1,6 +1,8 @@ module JumpProblemLibrary -using Catalyst +using Catalyst: Catalyst, @named, @parameters, @reaction_network, @species, Num, + Reaction, ReactionSystem, complete, default_t, hill, make_empty_network, + species, unknowns import RuntimeGeneratedFunctions RuntimeGeneratedFunctions.init(@__MODULE__) diff --git a/lib/JumpProblemLibrary/test/qa/Project.toml b/lib/JumpProblemLibrary/test/qa/Project.toml index 4d15c00..eca6aca 100644 --- a/lib/JumpProblemLibrary/test/qa/Project.toml +++ b/lib/JumpProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" JumpProblemLibrary = "faf0f6d7-8cee-47cb-b27c-1eb80cef534e" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ JumpProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" JumpProblemLibrary = "2" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/JumpProblemLibrary/test/qa/qa.jl b/lib/JumpProblemLibrary/test/qa/qa.jl index 3d703ee..ed40700 100644 --- a/lib/JumpProblemLibrary/test/qa/qa.jl +++ b/lib/JumpProblemLibrary/test/qa/qa.jl @@ -1,6 +1,6 @@ -using JumpProblemLibrary -using Aqua +using SciMLTesting, JumpProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(JumpProblemLibrary; ambiguities = false, persistent_tasks = false) -end +run_qa( + JumpProblemLibrary; explicit_imports = true, + aqua_kwargs = (; ambiguities = false, persistent_tasks = false) +) diff --git a/lib/NonlinearProblemLibrary/Project.toml b/lib/NonlinearProblemLibrary/Project.toml index bc377fc..e72686a 100644 --- a/lib/NonlinearProblemLibrary/Project.toml +++ b/lib/NonlinearProblemLibrary/Project.toml @@ -8,6 +8,7 @@ SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] LinearAlgebra = "1.6" +Pkg = "1.10" SafeTestsets = "0.1" SciMLBase = "2, 3" Test = "1" diff --git a/lib/NonlinearProblemLibrary/src/NonlinearProblemLibrary.jl b/lib/NonlinearProblemLibrary/src/NonlinearProblemLibrary.jl index ae5c52f..397aa7d 100644 --- a/lib/NonlinearProblemLibrary/src/NonlinearProblemLibrary.jl +++ b/lib/NonlinearProblemLibrary/src/NonlinearProblemLibrary.jl @@ -1,6 +1,7 @@ module NonlinearProblemLibrary -using SciMLBase, LinearAlgebra +using SciMLBase: SciMLBase, NonlinearProblem +using LinearAlgebra: LinearAlgebra # Implementation of the 23 test problems in # [test_nonlin](https://people.sc.fsu.edu/~jburkardt/m_src/test_nonlin/test_nonlin.html) diff --git a/lib/NonlinearProblemLibrary/test/qa/Project.toml b/lib/NonlinearProblemLibrary/test/qa/Project.toml index 5ee5061..053f135 100644 --- a/lib/NonlinearProblemLibrary/test/qa/Project.toml +++ b/lib/NonlinearProblemLibrary/test/qa/Project.toml @@ -2,6 +2,7 @@ AllocCheck = "9b6a8646-10ed-4001-bbdc-1d2f46dfbb1a" Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" NonlinearProblemLibrary = "b7050fa9-e91f-4b37-bcee-a89a063da141" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -11,5 +12,6 @@ NonlinearProblemLibrary = {path = "../.."} AllocCheck = "0.2" Aqua = "0.8" NonlinearProblemLibrary = "0.1" +SciMLTesting = "1.7" Test = "1" julia = "1.10" diff --git a/lib/NonlinearProblemLibrary/test/qa/qa.jl b/lib/NonlinearProblemLibrary/test/qa/qa.jl index 5274826..5c4dc61 100644 --- a/lib/NonlinearProblemLibrary/test/qa/qa.jl +++ b/lib/NonlinearProblemLibrary/test/qa/qa.jl @@ -1,6 +1,3 @@ -using NonlinearProblemLibrary -using Aqua +using SciMLTesting, NonlinearProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(NonlinearProblemLibrary; ambiguities = false) -end +run_qa(NonlinearProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/lib/ODEProblemLibrary/Project.toml b/lib/ODEProblemLibrary/Project.toml index 7d70379..717daae 100644 --- a/lib/ODEProblemLibrary/Project.toml +++ b/lib/ODEProblemLibrary/Project.toml @@ -12,6 +12,7 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" DiffEqBase = "6, 7" LinearAlgebra = "1.10" Markdown = "1.10" +Pkg = "1.10" Random = "1.10" SafeTestsets = "0.1" Test = "1.10" diff --git a/lib/ODEProblemLibrary/src/ODEProblemLibrary.jl b/lib/ODEProblemLibrary/src/ODEProblemLibrary.jl index 243c4d0..bf022ee 100644 --- a/lib/ODEProblemLibrary/src/ODEProblemLibrary.jl +++ b/lib/ODEProblemLibrary/src/ODEProblemLibrary.jl @@ -1,9 +1,9 @@ module ODEProblemLibrary -using DiffEqBase -using LinearAlgebra -using Markdown -using Random +using DiffEqBase: DiffEqBase, ODEFunction, ODEProblem +using LinearAlgebra: LinearAlgebra, Diagonal, I, SymTridiagonal, diagind, ldiv!, mul!, rmul! +using Markdown: Markdown, @doc_str +using Random: Random Random.seed!(100) diff --git a/lib/ODEProblemLibrary/test/qa/Project.toml b/lib/ODEProblemLibrary/test/qa/Project.toml index d52ff29..5b386cd 100644 --- a/lib/ODEProblemLibrary/test/qa/Project.toml +++ b/lib/ODEProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" ODEProblemLibrary = "fdc4e326-1af4-4b90-96e7-779fcce2daa5" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ ODEProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" ODEProblemLibrary = "1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/ODEProblemLibrary/test/qa/qa.jl b/lib/ODEProblemLibrary/test/qa/qa.jl index cdfb145..f5b5bb5 100644 --- a/lib/ODEProblemLibrary/test/qa/qa.jl +++ b/lib/ODEProblemLibrary/test/qa/qa.jl @@ -1,6 +1,3 @@ -using ODEProblemLibrary -using Aqua +using SciMLTesting, ODEProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(ODEProblemLibrary; ambiguities = false) -end +run_qa(ODEProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/lib/SDEProblemLibrary/Project.toml b/lib/SDEProblemLibrary/Project.toml index 61614d8..8a37076 100644 --- a/lib/SDEProblemLibrary/Project.toml +++ b/lib/SDEProblemLibrary/Project.toml @@ -11,6 +11,7 @@ SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" [compat] DiffEqBase = "6, 7" Markdown = "1.10" +Pkg = "1.10" RuntimeGeneratedFunctions = "0.5" SafeTestsets = "0.1" SciMLBase = "2.0.1, 3" diff --git a/lib/SDEProblemLibrary/src/SDEProblemLibrary.jl b/lib/SDEProblemLibrary/src/SDEProblemLibrary.jl index 4b577d5..b463129 100644 --- a/lib/SDEProblemLibrary/src/SDEProblemLibrary.jl +++ b/lib/SDEProblemLibrary/src/SDEProblemLibrary.jl @@ -1,6 +1,7 @@ module SDEProblemLibrary -using DiffEqBase, Markdown +using DiffEqBase: DiffEqBase, SDEFunction, SDEProblem +using Markdown: Markdown, @doc_str import RuntimeGeneratedFunctions RuntimeGeneratedFunctions.init(@__MODULE__) diff --git a/lib/SDEProblemLibrary/test/qa/Project.toml b/lib/SDEProblemLibrary/test/qa/Project.toml index 2cdb197..c48efef 100644 --- a/lib/SDEProblemLibrary/test/qa/Project.toml +++ b/lib/SDEProblemLibrary/test/qa/Project.toml @@ -1,6 +1,7 @@ [deps] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" SDEProblemLibrary = "c72e72a9-a271-4b2b-8966-303ed956772e" +SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] @@ -9,5 +10,6 @@ SDEProblemLibrary = {path = "../.."} [compat] Aqua = "0.8" SDEProblemLibrary = "1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/lib/SDEProblemLibrary/test/qa/qa.jl b/lib/SDEProblemLibrary/test/qa/qa.jl index faf5dfb..0a4e0d8 100644 --- a/lib/SDEProblemLibrary/test/qa/qa.jl +++ b/lib/SDEProblemLibrary/test/qa/qa.jl @@ -1,6 +1,6 @@ -using SDEProblemLibrary -using Aqua +using SciMLTesting, SDEProblemLibrary, Test -@testset "Aqua" begin - Aqua.test_all(SDEProblemLibrary; ambiguities = false, persistent_tasks = false) -end +run_qa( + SDEProblemLibrary; explicit_imports = true, + aqua_kwargs = (; ambiguities = false, persistent_tasks = false) +) diff --git a/test/qa/Project.toml b/test/qa/Project.toml index 7037fbf..31a8d0e 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -1,6 +1,5 @@ [deps] DiffEqProblemLibrary = "a077e3f3-b75c-5d7f-a0c6-6bc4c8ec64a9" -ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -10,8 +9,7 @@ DiffEqProblemLibrary = {path = "../.."} [compat] DiffEqProblemLibrary = "5" -ExplicitImports = "1" SafeTestsets = "0.0.1, 0.1" -SciMLTesting = "1" +SciMLTesting = "1.7" Test = "1.10" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index 8c77d8f..454dc48 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,11 +1,6 @@ -# The root umbrella package's own test: it re-exports each sublibrary, -# so the test is that the whole thing builds with no implicit or stale -# explicit imports. -using DiffEqProblemLibrary -using ExplicitImports -using Test +using SciMLTesting, DiffEqProblemLibrary, Test -@testset "ExplicitImports" begin - @test check_no_implicit_imports(DiffEqProblemLibrary) === nothing - @test check_no_stale_explicit_imports(DiffEqProblemLibrary) === nothing -end +# The root umbrella package re-exports each sublibrary; it owns no methods of its own, +# so the reported method ambiguities all come from the imported dependency tree +# (DiffEqBase / SciMLBase / Catalyst), matching the `ambiguities = false` each sublib uses. +run_qa(DiffEqProblemLibrary; explicit_imports = true, aqua_kwargs = (; ambiguities = false)) diff --git a/test/runtests.jl b/test/runtests.jl index afc51fa..5465d62 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,13 +5,26 @@ using SciMLTesting const GROUP = current_group() const LIB_DIR = joinpath(dirname(@__DIR__), "lib") -# The root umbrella package's own QA env activation. It is kept as an explicit -# helper (rather than `run_tests`'s `env =` group spec) so the activate/instantiate -# behavior — in particular NOT `Pkg.develop`-ing the root or transitively developing -# the env's `[sources]` on Julia < 1.11 — stays byte-for-byte identical to the -# previous hand-written runtests.jl. +# The root umbrella package's own QA env activation. On Julia < 1.11 the env's +# `[sources]` table is ignored by Pkg, so `DiffEqProblemLibrary = {path = "../.."}` +# would silently resolve to the registered release instead of the working copy — +# meaning the QA checks (Aqua.test_all etc.) run against the registry version, not +# the branch under CI. Develop the env's local path sources first, mirroring the +# sublibrary branch below, so the checks test the working tree. function activate_qa_env() - Pkg.activate(joinpath(@__DIR__, "qa")) + qa_dir = joinpath(@__DIR__, "qa") + Pkg.activate(qa_dir) + if VERSION < v"1.11.0-DEV.0" + toml = Pkg.TOML.parsefile(joinpath(qa_dir, "Project.toml")) + specs = Pkg.PackageSpec[] + for (_, source_spec) in get(toml, "sources", Dict()) + if source_spec isa Dict && haskey(source_spec, "path") + dep_path = normpath(joinpath(qa_dir, source_spec["path"])) + isdir(dep_path) && push!(specs, Pkg.PackageSpec(path = dep_path)) + end + end + isempty(specs) || Pkg.develop(specs) + end return Pkg.instantiate() end