SciML / SciML/TupleLU.jl

QA: Aqua/JET findings marked @test_broken pending fix

Open
#8 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.