Skip to content

Commit 8e506a9

Browse files
Merge pull request #516 from ChrisRackauckas-Claude/sciml-testing-rollout
Migrate to SciMLTesting v1.2 (off ReTestItems)
2 parents 41aca76 + 97ca4a3 commit 8e506a9

14 files changed

Lines changed: 240 additions & 335 deletions

File tree

Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ DiffEqDevTools = "2.48, 3"
4545
DifferentiationInterface = "0.7.13"
4646
FastClosures = "0.3.2"
4747
ForwardDiff = "0.10.38, 1"
48-
InteractiveUtils = "<0.0.1, 1"
4948
LinearAlgebra = "1.10"
5049
LinearSolve = "3.12"
5150
NonlinearSolveBase = "2"
@@ -60,6 +59,7 @@ RecursiveArrayTools = "3.31.2, 4"
6059
Reexport = "1.2"
6160
SafeTestsets = "0.1.0"
6261
SciMLBase = "3"
62+
SciMLTesting = "1"
6363
Sparspak = "0.3.11"
6464
StaticArrays = "1.9.8"
6565
Test = "1.10"
@@ -68,7 +68,6 @@ julia = "1.10"
6868
[extras]
6969
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
7070
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
71-
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
7271
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
7372
NonlinearSolveBase = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
7473
NonlinearSolveFirstOrder = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
@@ -79,9 +78,10 @@ Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
7978
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
8079
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
8180
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
81+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
8282
Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac"
8383
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
8484
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
8585

8686
[targets]
87-
test = ["DiffEqDevTools", "DifferentiationInterface", "InteractiveUtils", "LinearSolve", "NonlinearSolveFirstOrder", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]
87+
test = ["DiffEqDevTools", "DifferentiationInterface", "LinearSolve", "NonlinearSolveFirstOrder", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "SciMLTesting", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]

lib/BoundaryValueDiffEqAscher/Project.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ DiffEqDevTools = "2.44, 3"
2828
DifferentiationInterface = "0.7"
2929
FastClosures = "0.3.2"
3030
ForwardDiff = "0.10.38, 1"
31-
InteractiveUtils = "<0.0.1, 1"
3231
LinearAlgebra = "1.10"
33-
Pkg = "1.10.0"
3432
PreallocationTools = "0.4, 1"
3533
Random = "1.10"
3634
RecursiveArrayTools = "3.27.0, 4"
3735
Reexport = "1.2"
3836
SciMLBase = "3"
37+
SciMLTesting = "1"
3938
Setfield = "1.1.1"
4039
StaticArrays = "1.9.8"
4140
Test = "1.10"
@@ -47,12 +46,11 @@ BoundaryValueDiffEqCore = {path = "../BoundaryValueDiffEqCore"}
4746
[extras]
4847
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
4948
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
50-
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
51-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
5249
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
5350
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
51+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
5452
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
5553
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
5654

5755
[targets]
58-
test = ["DiffEqDevTools", "InteractiveUtils", "Pkg", "Random", "RecursiveArrayTools", "StaticArrays", "Test", "SafeTestsets"]
56+
test = ["DiffEqDevTools", "Random", "RecursiveArrayTools", "SciMLTesting", "StaticArrays", "Test", "SafeTestsets"]
Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
1-
using Pkg
2-
using InteractiveUtils, SafeTestsets, Test
1+
using SafeTestsets, Test
2+
using SciMLTesting
33

4-
@info sprint(InteractiveUtils.versioninfo)
5-
6-
const TEST_GROUP = get(ENV, "BOUNDARYVALUEDIFFEQ_TEST_GROUP", "All")
7-
8-
function activate_qa_env()
9-
Pkg.activate(joinpath(@__DIR__, "qa"))
10-
# On Julia < 1.11, the [sources] section in Project.toml is not honored.
11-
# Manually Pkg.develop the local path dependencies so QA tests the PR branch code.
12-
if VERSION < v"1.11.0-DEV.0"
13-
Pkg.develop(
14-
[
15-
Pkg.PackageSpec(path = joinpath(@__DIR__, "..")),
16-
Pkg.PackageSpec(path = joinpath(@__DIR__, "..", "..", "BoundaryValueDiffEqCore"))
17-
]
18-
)
19-
end
20-
return Pkg.instantiate()
21-
end
22-
23-
@time begin
24-
if TEST_GROUP == "Core" || TEST_GROUP == "All"
25-
@time @safetestset "Ascher Basic Tests" include("Core/ascher_basic_tests.jl")
26-
end
27-
28-
if (TEST_GROUP == "QA" || TEST_GROUP == "All") && isempty(VERSION.prerelease)
29-
activate_qa_env()
30-
@time @safetestset "Quality Assurance" include("qa/qa.jl")
31-
end
32-
end
4+
run_tests(;
5+
env = "BOUNDARYVALUEDIFFEQ_TEST_GROUP",
6+
core = function ()
7+
return @time @safetestset "Ascher Basic Tests" include("Core/ascher_basic_tests.jl")
8+
end,
9+
qa = (;
10+
env = joinpath(@__DIR__, "qa"),
11+
body = function ()
12+
# QA (Aqua) runs on release + LTS Julia only; skip on prerelease.
13+
isempty(VERSION.prerelease) || return nothing
14+
return @time @safetestset "Quality Assurance" include("qa/qa.jl")
15+
end,
16+
),
17+
all = ["Core", "QA"],
18+
)

lib/BoundaryValueDiffEqCore/Project.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,17 @@ ConcreteStructs = "0.2.3"
3636
DiffEqBase = "6.213, 7"
3737
ForwardDiff = "0.10.38, 1"
3838
Integrals = "4.7.1, 5"
39-
InteractiveUtils = "<0.0.1, 1"
4039
LineSearch = "0.1.4"
4140
LinearAlgebra = "1.10"
4241
NonlinearSolveBase = "2.11.2"
4342
NonlinearSolveFirstOrder = "1.2, 2"
4443
OptimizationBase = "5.1"
45-
Pkg = "1.10.0"
4644
PreallocationTools = "1.2"
4745
RecursiveArrayTools = "3.27.0, 4"
4846
Reexport = "1.2"
4947
SciMLBase = "3"
5048
SciMLLogging = "1.10.1, 2"
49+
SciMLTesting = "1"
5150
SciMLStructures = "1.7.0"
5251
Setfield = "1"
5352
SparseArrays = "1.10"
@@ -58,9 +57,8 @@ julia = "1.10"
5857

5958
[extras]
6059
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
61-
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
62-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
60+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
6361
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
6462

6563
[targets]
66-
test = ["InteractiveUtils", "Pkg", "Test", "SafeTestsets"]
64+
test = ["SciMLTesting", "Test", "SafeTestsets"]
Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
1-
using Pkg
2-
using InteractiveUtils, SafeTestsets, Test
1+
using SafeTestsets, Test
2+
using SciMLTesting
33

4-
@info sprint(InteractiveUtils.versioninfo)
5-
6-
const TEST_GROUP = get(ENV, "BOUNDARYVALUEDIFFEQ_TEST_GROUP", "All")
7-
8-
function activate_qa_env()
9-
Pkg.activate(joinpath(@__DIR__, "qa"))
10-
# On Julia < 1.11, the [sources] section in Project.toml is not honored.
11-
# Manually Pkg.develop the local path dependency so QA tests the PR branch code.
12-
if VERSION < v"1.11.0-DEV.0"
13-
Pkg.develop(Pkg.PackageSpec(path = joinpath(@__DIR__, "..")))
14-
end
15-
return Pkg.instantiate()
16-
end
17-
18-
@time begin
19-
if TEST_GROUP == "Core" || TEST_GROUP == "All"
20-
@time @safetestset "Utility Tests" include("Core/util_tests.jl")
21-
end
22-
23-
if (TEST_GROUP == "QA" || TEST_GROUP == "All") && isempty(VERSION.prerelease)
24-
activate_qa_env()
25-
@time @safetestset "Quality Assurance" include("qa/qa.jl")
26-
end
27-
end
4+
run_tests(;
5+
env = "BOUNDARYVALUEDIFFEQ_TEST_GROUP",
6+
core = function ()
7+
return @time @safetestset "Utility Tests" include("Core/util_tests.jl")
8+
end,
9+
qa = (;
10+
env = joinpath(@__DIR__, "qa"),
11+
body = function ()
12+
# QA (Aqua) runs on release + LTS Julia only; skip on prerelease.
13+
isempty(VERSION.prerelease) || return nothing
14+
return @time @safetestset "Quality Assurance" include("qa/qa.jl")
15+
end,
16+
),
17+
all = ["Core", "QA"],
18+
)

lib/BoundaryValueDiffEqFIRK/Project.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@ Enzyme = "0.13.33"
4141
FastAlmostBandedMatrices = "0.1.4"
4242
FastClosures = "0.3.2"
4343
ForwardDiff = "0.10.38, 1"
44-
InteractiveUtils = "<0.0.1, 1"
4544
LinearAlgebra = "1.10"
4645
LinearSolve = "2.36.2, 3"
4746
Mooncake = "0.4.146, 0.5"
4847
OrdinaryDiffEqRosenbrock = "1.15.1, 2"
49-
Pkg = "1.10.0"
5048
PreallocationTools = "0.4, 1"
5149
PrecompileTools = "1.2"
5250
Preferences = "1.4"
@@ -55,6 +53,7 @@ RecursiveArrayTools = "3.27.0, 4"
5553
Reexport = "1.2"
5654
SciMLBase = "3"
5755
SciMLStructures = "1.7.0"
56+
SciMLTesting = "1"
5857
Setfield = "1.1.1"
5958
SparseArrays = "1.10"
6059
StaticArrays = "1.9.8"
@@ -65,15 +64,14 @@ julia = "1.10"
6564
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
6665
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
6766
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
68-
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
6967
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
7068
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
7169
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
72-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
7370
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
7471
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
72+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
7573
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
7674
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
7775

7876
[targets]
79-
test = ["DiffEqDevTools", "Enzyme", "InteractiveUtils", "LinearSolve", "Mooncake", "OrdinaryDiffEqRosenbrock", "Pkg", "Random", "RecursiveArrayTools", "StaticArrays", "Test", "SafeTestsets"]
77+
test = ["DiffEqDevTools", "Enzyme", "LinearSolve", "Mooncake", "OrdinaryDiffEqRosenbrock", "Random", "RecursiveArrayTools", "SciMLTesting", "StaticArrays", "Test", "SafeTestsets"]
Lines changed: 39 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,41 @@
1-
using Pkg
2-
using InteractiveUtils, SafeTestsets, Test
1+
using SafeTestsets, Test
2+
using SciMLTesting
33

4-
@info sprint(InteractiveUtils.versioninfo)
5-
6-
const TEST_GROUP = get(ENV, "BOUNDARYVALUEDIFFEQ_TEST_GROUP", "All")
7-
8-
function activate_qa_env()
9-
Pkg.activate(joinpath(@__DIR__, "qa"))
10-
# On Julia < 1.11, the [sources] section in Project.toml is not honored.
11-
# Manually Pkg.develop the local path dependencies so QA tests the PR branch code.
12-
if VERSION < v"1.11.0-DEV.0"
13-
Pkg.develop(
14-
[
15-
Pkg.PackageSpec(path = joinpath(@__DIR__, "..")),
16-
Pkg.PackageSpec(path = joinpath(@__DIR__, "..", "..", "BoundaryValueDiffEqCore"))
17-
]
18-
)
19-
end
20-
return Pkg.instantiate()
21-
end
22-
23-
@time begin
24-
if TEST_GROUP == "Core"
25-
# Representative light FIRK set covering both formulations' basic solves.
26-
# Targeted by the uniform "Core" downgrade value. The full EXPANDED/NESTED
27-
# groups below already include these basic tests, and "All" runs those
28-
# groups, so "Core" is kept separate from "All" to avoid double execution.
4+
run_tests(;
5+
env = "BOUNDARYVALUEDIFFEQ_TEST_GROUP",
6+
# Core: representative light FIRK set covering both formulations' basic solves.
7+
# Targeted by the uniform "Core" downgrade value. The full EXPANDED/NESTED groups
8+
# already include these basic tests, and "All" runs those groups, so "Core" is
9+
# kept out of "All" (see the `all` list below) to avoid double execution.
10+
core = function ()
2911
@time @safetestset "FIRK Expanded Basic Tests" include("expanded/firk_basic_tests.jl")
30-
@time @safetestset "FIRK Nested Basic Tests" include("nested/firk_basic_tests.jl")
31-
end
32-
33-
if TEST_GROUP == "EXPANDED" || TEST_GROUP == "All"
34-
@time @safetestset "FIRK Expanded Basic Tests" include("expanded/firk_basic_tests.jl")
35-
@time @safetestset "FIRK Expanded NLLS Tests" include("expanded/nlls_tests.jl")
36-
@time @safetestset "FIRK Expanded AD Tests" include("expanded/ad_tests.jl")
37-
@time @safetestset "FIRK Expanded Ensemble Tests" include("expanded/ensemble_tests.jl")
38-
@time @safetestset "FIRK Expanded Singular BVP Tests" include("expanded/singular_bvp_tests.jl")
39-
@time @safetestset "FIRK Expanded VectorOfVector Initials Tests" include("expanded/vectorofvector_initials_tests.jl")
40-
end
41-
42-
if TEST_GROUP == "NESTED" || TEST_GROUP == "All"
43-
@time @safetestset "FIRK Nested Basic Tests" include("nested/firk_basic_tests.jl")
44-
@time @safetestset "FIRK Nested NLLS Tests" include("nested/nlls_tests.jl")
45-
@time @safetestset "FIRK Nested Ensemble Tests" include("nested/ensemble_tests.jl")
46-
@time @safetestset "FIRK Nested VectorOfVector Initials Tests" include("nested/vectorofvector_initials_tests.jl")
47-
end
48-
49-
if (TEST_GROUP == "QA" || TEST_GROUP == "All") && isempty(VERSION.prerelease)
50-
activate_qa_env()
51-
@time @safetestset "Quality Assurance" include("qa/qa.jl")
52-
end
53-
end
12+
return @time @safetestset "FIRK Nested Basic Tests" include("nested/firk_basic_tests.jl")
13+
end,
14+
groups = Dict(
15+
"EXPANDED" => function ()
16+
@time @safetestset "FIRK Expanded Basic Tests" include("expanded/firk_basic_tests.jl")
17+
@time @safetestset "FIRK Expanded NLLS Tests" include("expanded/nlls_tests.jl")
18+
@time @safetestset "FIRK Expanded AD Tests" include("expanded/ad_tests.jl")
19+
@time @safetestset "FIRK Expanded Ensemble Tests" include("expanded/ensemble_tests.jl")
20+
@time @safetestset "FIRK Expanded Singular BVP Tests" include("expanded/singular_bvp_tests.jl")
21+
return @time @safetestset "FIRK Expanded VectorOfVector Initials Tests" include("expanded/vectorofvector_initials_tests.jl")
22+
end,
23+
"NESTED" => function ()
24+
@time @safetestset "FIRK Nested Basic Tests" include("nested/firk_basic_tests.jl")
25+
@time @safetestset "FIRK Nested NLLS Tests" include("nested/nlls_tests.jl")
26+
@time @safetestset "FIRK Nested Ensemble Tests" include("nested/ensemble_tests.jl")
27+
return @time @safetestset "FIRK Nested VectorOfVector Initials Tests" include("nested/vectorofvector_initials_tests.jl")
28+
end,
29+
),
30+
qa = (;
31+
env = joinpath(@__DIR__, "qa"),
32+
body = function ()
33+
# QA (Aqua) runs on release + LTS Julia only; skip on prerelease.
34+
isempty(VERSION.prerelease) || return nothing
35+
return @time @safetestset "Quality Assurance" include("qa/qa.jl")
36+
end,
37+
),
38+
# "All" runs EXPANDED + NESTED + QA. "Core" is intentionally excluded: its basic
39+
# tests are already covered inside EXPANDED and NESTED.
40+
all = ["EXPANDED", "NESTED", "QA"],
41+
)

lib/BoundaryValueDiffEqMIRK/Project.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,11 @@ Enzyme = "0.13.33"
3939
FastAlmostBandedMatrices = "0.1.4"
4040
FastClosures = "0.3.2"
4141
ForwardDiff = "0.10.38, 1"
42-
InteractiveUtils = "<0.0.1, 1"
4342
LinearAlgebra = "1.10"
4443
LinearSolve = "2.36.2, 3"
4544
Mooncake = "0.4, 0.5"
4645
OptimizationIpopt = "1"
4746
OrdinaryDiffEqRosenbrock = "1, 2"
48-
Pkg = "1.10.0"
4947
PreallocationTools = "0.4, 1"
5048
PrecompileTools = "1.2"
5149
Preferences = "1.4"
@@ -55,6 +53,7 @@ Reexport = "1.2"
5553
SafeTestsets = "0.1.0"
5654
SciMLBase = "3"
5755
SciMLStructures = "1.7.0"
56+
SciMLTesting = "1"
5857
Setfield = "1.1.1"
5958
SparseArrays = "1.10"
6059
StaticArrays = "1.9.8"
@@ -64,17 +63,16 @@ julia = "1.10"
6463
[extras]
6564
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
6665
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
67-
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
6866
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
6967
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
7068
OptimizationIpopt = "43fad042-7963-4b32-ab19-e2a4f9a67124"
7169
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
72-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
7370
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
7471
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
7572
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
73+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
7674
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
7775
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
7876

7977
[targets]
80-
test = ["DiffEqDevTools", "Enzyme", "InteractiveUtils", "LinearSolve", "Mooncake", "OptimizationIpopt", "OrdinaryDiffEqRosenbrock", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "StaticArrays", "Test"]
78+
test = ["DiffEqDevTools", "Enzyme", "LinearSolve", "Mooncake", "OptimizationIpopt", "OrdinaryDiffEqRosenbrock", "Random", "RecursiveArrayTools", "SafeTestsets", "SciMLTesting", "StaticArrays", "Test"]

0 commit comments

Comments
 (0)