Skip to content

Commit cead5d8

Browse files
QA: run_qa v1.6 form + ExplicitImports
Convert the hand-rolled test/qa/qa.jl to the SciMLTesting 1.6 run_qa form and enable the ExplicitImports check group. - qa.jl: replace the manual Aqua/JET testset (which carried two @test_broken placeholders) with run_qa(FiniteVolumeMethod1D; explicit_imports = true, ...). - The Aqua deps_compat finding (#84) is fixed at the source rather than marked broken: add SparseArrays = "1" to the root [compat]. Aqua test_all (incl. deps_compat) now passes. - The JET finding (#84) does not reproduce under run_qa's canonical config (mode = :typo, target_modules = (FiniteVolumeMethod1D,)); the original 4 reports were artifacts of target_defined_modules = true. JET.test_package now runs and passes, so no jet_broken is needed. - ExplicitImports: all six checks run. Four pass clean; two non-public names from other packages are ignored until they go public: all_qualified_accesses_are_public ignores AutoSpecialize (SciMLBase) and init (CommonSolve); all_explicit_imports_are_public ignores solve (CommonSolve, re-exported). All ignores are other-package non-public names, documented inline with their source package. - Drop ExplicitImports from the root [extras]/[targets].test and the test/ env, and remove the legacy test/explicit_imports.jl (its two checks are subsumed by the QA group's six). ExplicitImports is now a transitive dep via SciMLTesting. - test/qa/Project.toml: bump SciMLTesting compat to "1.6"; keep SafeTestsets (the folder-model @safetestset wrapper needs it as a direct dep of the group env) and Aqua/JET. Verified locally on Julia 1.10 against released SciMLTesting 1.6.0 via GROUP=QA runtests.jl: QA/qa.jl 18/18 pass, 0 fail/error/broken. Closes #84. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 7b318c6 commit cead5d8

6 files changed

Lines changed: 21 additions & 29 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/Manifest.toml
22
/test/Manifest.toml
3+
/test/qa/Manifest.toml
34
/docs/build/

Project.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,14 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1111

1212
[compat]
1313
CommonSolve = "0.2"
14-
ExplicitImports = "1"
1514
PrecompileTools = "1"
1615
SciMLBase = "2.146, 3.1"
16+
SparseArrays = "1"
1717
Test = "1"
1818
julia = "1.10"
1919

2020
[extras]
21-
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
2221
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2322

2423
[targets]
25-
test = ["ExplicitImports", "Test"]
24+
test = ["Test"]

test/Project.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
[deps]
22
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
33
DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf"
4-
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
54
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
65
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
76
MethodOfLines = "94925ecb-adb7-4558-8ed8-f975c56a0bf4"

test/explicit_imports.jl

Lines changed: 0 additions & 6 deletions
This file was deleted.

test/qa/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ FiniteVolumeMethod1D = {path = "../.."}
1313
Aqua = "0.8"
1414
JET = "0.9,0.10,0.11"
1515
SafeTestsets = "0.0.1, 0.1"
16-
SciMLTesting = "1"
16+
SciMLTesting = "1.6"
1717
Test = "1"
1818
julia = "1.10"

test/qa/qa.jl

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
using FiniteVolumeMethod1D
2-
using Aqua
1+
using SciMLTesting, FiniteVolumeMethod1D, Test
32
using JET
4-
using Test
53

6-
@testset "Quality Assurance" begin
7-
@testset "Aqua" begin
8-
# All Aqua sub-checks pass except deps_compat, which is marked broken below.
9-
Aqua.test_all(FiniteVolumeMethod1D; deps_compat = false)
10-
# deps_compat fails: SparseArrays is a dep with no [compat] entry.
11-
# See https://github.com/SciML/FiniteVolumeMethod1D.jl/issues/84
12-
@test_broken false # Aqua deps_compat: SparseArrays missing [compat] — see #84
13-
end
14-
@testset "JET" begin
15-
# JET.report_package reports 4 possible errors (Dirichlet/Neumann kwdef
16-
# inner ctors and CommonSolve.init on the constructed ODEProblem).
17-
# See https://github.com/SciML/FiniteVolumeMethod1D.jl/issues/84
18-
@test_broken false # JET: report_package errors — see #84
19-
end
20-
end
4+
run_qa(
5+
FiniteVolumeMethod1D;
6+
explicit_imports = true,
7+
ei_kwargs = (;
8+
# Other packages' not-yet-public names; ignore until they go public.
9+
all_qualified_accesses_are_public = (;
10+
ignore = (
11+
:AutoSpecialize, # SciMLBase.AutoSpecialize (specialization default)
12+
:init, # CommonSolve.init (extended/forwarded here)
13+
),
14+
),
15+
all_explicit_imports_are_public = (;
16+
ignore = (:solve,), # CommonSolve.solve (re-exported)
17+
),
18+
),
19+
)

0 commit comments

Comments
 (0)