QA: run_qa v1.6 form + ExplicitImports#78
Merged
ChrisRackauckas merged 1 commit intoJun 27, 2026
Merged
Conversation
Replace the hand-rolled test/qa/{aqua,explicit_imports,runtests}.jl with a
single run_qa(DataInterpolationsND; explicit_imports = true) call (Aqua +
ExplicitImports come from SciMLTesting's own deps). The bespoke JET targeted
analysis (report_call/report_opt on the public entry points) is kept as
test/qa/jet.jl: run_qa's JET.test_package typo-mode path false-fails on the
`using EllipsisNotation: EllipsisNotation, (..)` import (a JuliaSyntax
parentheses warning promoted to a toplevel error), so JET stays targeted.
ExplicitImports: 5/6 checks pass clean; all_explicit_imports_are_public flags
Adapt's non-public `@adapt_structure` macro, ignored via ei_kwargs (documented).
test/qa/Project.toml: SciMLTesting compat -> "1.6"; keep Aqua a direct dep
(Aqua.test_ambiguities spawns a child process that `import Aqua`, which needs
Aqua resolvable in the active project, not just transitively via SciMLTesting);
keep JET (the targeted analysis loads it); drop ExplicitImports (transitive)
and SafeTestsets (unused in the new qa.jl).
Verified locally against released SciMLTesting 1.6.0 on Julia 1.10/1.11/1.12:
QA group 29/29 pass, 0 fail/error/broken.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore until reviewed by @ChrisRackauckas.
Brings this repo's QA onto the SciMLTesting 1.6.0
run_qaform with ExplicitImports enabled.What changed
test/qa/{aqua,explicit_imports,runtests}.jlwith a singlerun_qa(DataInterpolationsND; explicit_imports = true)call intest/qa/qa.jl. Aqua + ExplicitImports come from SciMLTesting's own deps.report_call/report_opton the public entry points) astest/qa/jet.jl, included fromqa.jl. It is not routed throughrun_qa'sJET.test_packagepath — see below.test/runtests.jl: QA group body now points atqa/qa.jl.test/qa/Project.toml:SciMLTestingcompat ->"1.6"; droppedExplicitImports(transitive via SciMLTesting) andSafeTestsets(unused in the newqa.jl); keptAquaa direct dep and keptJET(see below).ExplicitImports findings (6 checks)
no_implicit_imports,no_stale_explicit_imports,all_explicit_imports_via_owners,all_qualified_accesses_via_owners,all_qualified_accesses_are_public: pass clean — src already imports everything explicitly viausing X: ....all_explicit_imports_are_public: flags@adapt_structure, a non-public (un-public-declared) macro of Adapt that src genuinely uses (@adapt_structure NDInterpolation). Ignored viaei_kwargs = (; all_explicit_imports_are_public = (; ignore = (Symbol("@adapt_structure"),))), documented inqa.jl. Goes away once Adapt marks the macro public.No
aqua_broken/jet_broken/ei_brokenare needed — there are no tracked-broken findings to preserve.Why JET stays targeted (not via run_qa)
run_qa's only JET path isJET.test_package(pkg; mode = :typo). On this package that hard-fails with a single toplevel "error" that is a JuliaSyntax parentheses warning on theusing EllipsisNotation: EllipsisNotation, (..)import (the(..)parens), which typo-mode promotes to a toplevel error. That is a tooling artifact, not a code defect (and the reason this repo never usedtest_package). Marking itjet_brokenwould suppress a non-bug and never auto-clear, so JET keeps the existing targetedreport_call/report_optcoverage of the public entry points.Why Aqua stays a direct dep
Aqua.test_allruns the ambiguities sub-check via a child process that doesimport Aqua. With Aqua only transitive (via SciMLTesting), that child process fails with "Package Aqua not found in current path" and theMethod ambiguitytest errors. KeepingAquaa direct dep of the QA sub-env fixes it.Verification
Ran the QA group against released SciMLTesting 1.6.0 (Pkg resolves it; no dev-from-branch) on Julia 1.10, 1.11, 1.12 via
GROUP=QA Pkg.test:(Aqua 8 + ExplicitImports 6 + JET static 9 + JET opt 3 + remaining Aqua/project checks = 29.)
🤖 Generated with Claude Code