QA: Aqua/JET findings marked @test_broken pending fix
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 0
- Forks
- 1
- Avg merge
- 5h 5m
- Merged PRs (30d)
- 5
Description
The QA test group (GROUP=QA, test/qa/qa.jl) surfaces genuine findings from Aqua.jl and JET.jl. To keep the QA CI group green while these are addressed, the failing checks have been marked with @test_broken false (they are NOT skipped/deleted). They should be fixed and then un-broken.
Aqua finding: deps_compat (extras)
Aqua.test_deps_compat fails because the package declares Pkg in the [extras] section of Project.toml but provides no corresponding [compat] entry for it:
TupleLU does not declare a compat entry for the following extras:
Pkg [44cfe95a-1eb2-52ea-b672-e2afdf69b78f]
Fix: add a [compat] bound for Pkg (e.g. Pkg = "1") in Project.toml, then re-enable the deps_compat check in test/qa/qa.jl (currently Aqua.test_all(...; deps_compat = false) plus a @test_broken).
All other Aqua sub-checks pass: ambiguities, undefined exports, project_extras (Project.toml vs test compare), stale_deps, compat bounds (deps/weakdeps/julia), piracy, persistent tasks. (unbound_args was already broken = true for the known TupleMatrix constructor case.)
JET finding: JET.test_package
JET.test_package(TupleLU; target_defined_modules = true) reports 6 possible errors:
┌ getproperty(F::TupleLU.LU, s::Symbol) @ src/TupleLU.jl:130
│ `TupleLU.similar_type` is not defined: TupleLU.similar_type
└────────────────────
┌ __lu(A::TupleMatrix{0, 0, T}, ::Val{Pivot}) @ src/TupleLU.jl:244
│ no matching method found `(::Type{TupleMatrix{0, 0, _A, 0}})()`
└────────────────────
┌ __lu(A::TupleMatrix{0, 1, T}, ::Val{Pivot}) @ src/TupleLU.jl:247 (same TupleMatrix{0,0,_,0}() error)
┌ __lu(A::TupleMatrix{0, N, T}, ::Val{Pivot}) @ src/TupleLU.jl:250 (same)
┌ __lu(A::TupleMatrix{1, 0, T}, ::Val{Pivot}) @ src/TupleLU.jl:253 (TupleMatrix{1,0,_,0}() error)
┌ __lu(A::TupleMatrix{M, 0, T}, ::Val{Pivot}) @ src/TupleLU.jl:256 (TupleMatrix{_,0,_,0}() error)
The first is an undefined-binding reference to TupleLU.similar_type in getproperty. The remaining five are no-matching-method errors constructing degenerate/empty TupleMatrix (zero-dimension) instances in the __lu methods. These should be fixed and the @test_broken false replaced with the real JET.test_package(...) call.
Reproduced locally on Julia 1.11.9 with Aqua 0.8, JET 0.11, ExplicitImports 1.14. ExplicitImports checks (check_no_implicit_imports, check_no_stale_explicit_imports) both pass.
Ignore until reviewed by @ChrisRackauckas.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Project.toml and test/qa/qa.jl: inspect the Pkg extras/compat entries and the currently disabled Aqua deps_compat check. Then read the getproperty and __lu methods at the reported locations in src/TupleLU.jl, along with the TupleMatrix constructors, to address the JET findings. Done means the Aqua and JET checks run without the marked-broken wrappers and the QA group passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100