Skip to content

Commit b88dbf1

Browse files
QA: run_qa v1.6 form + ExplicitImports (root + sublibs)
Convert the root QA env and every lib/<Sub>/test/qa env to the SciMLTesting v1.6 run_qa form with ExplicitImports enabled. Each qa.jl becomes `using SciMLTesting, <ThatModule>, Test` (+ `using JET` at the root, which keeps the JET package check) and a single `run_qa(<ThatModule>; explicit_imports = true, ...)` call. Genuine Aqua tweaks are preserved as aqua_kwargs: the root keeps `ambiguities = false` and the `treat_as_own = [SciMLBase.BVProblem]` piracies allowance; Core keeps `ambiguities = (; recursive = false)` and `stale_deps = (; ignore = [:TimerOutputs])`; Shooting keeps `persistent_tasks = false`. ExplicitImports is run in every env. The live checks pass except for a set of pre-existing findings (bare-`using` implicit imports, stale Core-internal imports, non-public upstream/sibling accesses) which are marked `@test_broken` via `ei_broken` so the lanes stay green and auto-flag once fixed; the root's qualified-access of `SciMLBase.__init/__solve` and `Base.get_extension` is ignore-listed. All tracked in #519. The root QA group's separate qa/jet.jl is folded into run_qa's JET check and removed; runtests.jl's QA body now includes only qa/qa.jl. SciMLTesting is added to each QA env ([deps] + [compat] "1.6"); the [sources] develop wiring is preserved verbatim. ExplicitImports is supplied transitively by SciMLTesting and is not listed. Verified locally on Julia 1.10 against released SciMLTesting 1.6.0 (0 Fail): - root: 16 Pass, 1 Broken - Core: 13 Pass, 4 Broken - MIRK: 12 Pass, 5 Broken - Shooting: 11 Pass, 5 Broken Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 0828718 commit b88dbf1

16 files changed

Lines changed: 106 additions & 48 deletions

File tree

lib/BoundaryValueDiffEqAscher/test/qa/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
BoundaryValueDiffEqAscher = "7227322d-7511-4e07-9247-ad6ff830280e"
44
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
5+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
56
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
67

78
[sources]
@@ -12,5 +13,6 @@ BoundaryValueDiffEqCore = {path = "../../../BoundaryValueDiffEqCore"}
1213
Aqua = "0.8"
1314
BoundaryValueDiffEqAscher = "1"
1415
BoundaryValueDiffEqCore = "2"
16+
SciMLTesting = "1.6"
1517
Test = "1.10"
1618
julia = "1.10"
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1+
using SciMLTesting
12
using BoundaryValueDiffEqAscher
2-
using Aqua
33
using Test
44

5-
@testset "Aqua" begin
6-
Aqua.test_all(BoundaryValueDiffEqAscher)
7-
end
5+
run_qa(
6+
BoundaryValueDiffEqAscher;
7+
explicit_imports = true,
8+
# Pre-existing ExplicitImports findings, tracked in SciML/BoundaryValueDiffEq.jl#519.
9+
ei_broken = (
10+
:no_implicit_imports, :no_stale_explicit_imports,
11+
:all_qualified_accesses_are_public, :all_explicit_imports_are_public,
12+
),
13+
)

lib/BoundaryValueDiffEqCore/test/qa/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[deps]
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
4+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
45
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
56

67
[sources]
@@ -9,5 +10,6 @@ BoundaryValueDiffEqCore = {path = "../.."}
910
[compat]
1011
Aqua = "0.8"
1112
BoundaryValueDiffEqCore = "2"
13+
SciMLTesting = "1.6"
1214
Test = "1.10"
1315
julia = "1.10"
Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1+
using SciMLTesting
12
using BoundaryValueDiffEqCore
2-
using Aqua
33
using Test
44

5-
@testset "Aqua" begin
6-
Aqua.test_all(BoundaryValueDiffEqCore; piracies = false, ambiguities = false, stale_deps = false)
7-
Aqua.test_stale_deps(BoundaryValueDiffEqCore; ignore = [:TimerOutputs])
8-
Aqua.test_piracies(BoundaryValueDiffEqCore)
9-
Aqua.test_ambiguities(BoundaryValueDiffEqCore; recursive = false)
10-
end
5+
run_qa(
6+
BoundaryValueDiffEqCore;
7+
explicit_imports = true,
8+
aqua_kwargs = (;
9+
ambiguities = (; recursive = false),
10+
stale_deps = (; ignore = [:TimerOutputs]),
11+
),
12+
# Pre-existing ExplicitImports findings, tracked in SciML/BoundaryValueDiffEq.jl#519.
13+
ei_broken = (
14+
:no_implicit_imports, :no_stale_explicit_imports,
15+
:all_qualified_accesses_are_public, :all_explicit_imports_are_public,
16+
),
17+
)

lib/BoundaryValueDiffEqFIRK/test/qa/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
44
BoundaryValueDiffEqFIRK = "85d9eb09-370e-4000-bb32-543851f73618"
5+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
56
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
67

78
[sources]
@@ -12,5 +13,6 @@ BoundaryValueDiffEqFIRK = {path = "../.."}
1213
Aqua = "0.8"
1314
BoundaryValueDiffEqCore = "2"
1415
BoundaryValueDiffEqFIRK = "1"
16+
SciMLTesting = "1.6"
1517
Test = "1.10"
1618
julia = "1.10"
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
using SciMLTesting
12
using BoundaryValueDiffEqFIRK
2-
using Aqua
33
using Test
44

5-
@testset "Aqua" begin
6-
Aqua.test_all(BoundaryValueDiffEqFIRK)
7-
end
5+
run_qa(
6+
BoundaryValueDiffEqFIRK;
7+
explicit_imports = true,
8+
# Pre-existing ExplicitImports findings, tracked in SciML/BoundaryValueDiffEq.jl#519.
9+
ei_broken = (
10+
:no_implicit_imports, :no_stale_explicit_imports,
11+
:all_explicit_imports_via_owners,
12+
:all_qualified_accesses_are_public, :all_explicit_imports_are_public,
13+
),
14+
)

lib/BoundaryValueDiffEqMIRK/test/qa/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
44
BoundaryValueDiffEqMIRK = "1a22d4ce-7765-49ea-b6f2-13c8438986a6"
5+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
56
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
67

78
[sources]
@@ -12,5 +13,6 @@ BoundaryValueDiffEqMIRK = {path = "../.."}
1213
Aqua = "0.8"
1314
BoundaryValueDiffEqCore = "2"
1415
BoundaryValueDiffEqMIRK = "1"
16+
SciMLTesting = "1.6"
1517
Test = "1.10"
1618
julia = "1.10"
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
using SciMLTesting
12
using BoundaryValueDiffEqMIRK
2-
using Aqua
33
using Test
44

5-
@testset "Aqua" begin
6-
Aqua.test_all(BoundaryValueDiffEqMIRK)
7-
end
5+
run_qa(
6+
BoundaryValueDiffEqMIRK;
7+
explicit_imports = true,
8+
# Pre-existing ExplicitImports findings, tracked in SciML/BoundaryValueDiffEq.jl#519.
9+
ei_broken = (
10+
:no_implicit_imports, :no_stale_explicit_imports,
11+
:all_explicit_imports_via_owners,
12+
:all_qualified_accesses_are_public, :all_explicit_imports_are_public,
13+
),
14+
)

lib/BoundaryValueDiffEqMIRKN/test/qa/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
33
BoundaryValueDiffEqCore = "56b672f2-a5fe-4263-ab2d-da677488eb3a"
44
BoundaryValueDiffEqMIRKN = "9255f1d6-53bf-473e-b6bd-23f1ff009da4"
5+
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
56
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
67

78
[sources]
@@ -12,5 +13,6 @@ BoundaryValueDiffEqMIRKN = {path = "../.."}
1213
Aqua = "0.8"
1314
BoundaryValueDiffEqCore = "2"
1415
BoundaryValueDiffEqMIRKN = "1"
16+
SciMLTesting = "1.6"
1517
Test = "1.10"
1618
julia = "1.10"
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
using SciMLTesting
12
using BoundaryValueDiffEqMIRKN
2-
using Aqua
33
using Test
44

5-
@testset "Aqua" begin
6-
Aqua.test_all(BoundaryValueDiffEqMIRKN)
7-
end
5+
run_qa(
6+
BoundaryValueDiffEqMIRKN;
7+
explicit_imports = true,
8+
# Pre-existing ExplicitImports findings, tracked in SciML/BoundaryValueDiffEq.jl#519.
9+
ei_broken = (
10+
:no_implicit_imports, :no_stale_explicit_imports,
11+
:all_explicit_imports_via_owners,
12+
:all_qualified_accesses_are_public, :all_explicit_imports_are_public,
13+
),
14+
)

0 commit comments

Comments
 (0)