SciML / SciML/MathML.jl

QA: Aqua/JET findings marked @test_broken pending fix

Open
#104 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
26
Forks
10
Avg merge
42m
Merged PRs (30d)
5

Description

As part of the grouped-tests CI conversion (branch grouped-tests-ci), the QA test group runs Aqua + JET. Two genuine Aqua findings and one genuine JET finding currently fail the QA group, so they have been wrapped as @test_broken in test/qa/qa.jl to keep the grouped-tests QA group green and allow the PR to merge. They should be fixed and un-broken.

Findings (Julia 1.11, Aqua 0.8.16, JET 0.9.20):

  1. Aqua.test_all deps_compat (extras)MathML 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"), or drop Pkg from [extras]/[targets] if it is no longer needed by the test suite.

  2. Aqua.test_all piracies — possible type piracy: three methods defined on EzXML.Node in MathML:

    • children(n::EzXML.Node) @ src/utils.jl:77
    • printnode(io::IO, node::EzXML.Node) @ src/utils.jl:78
    • nodetype(::EzXML.Node) @ src/utils.jl:79
      children/nodetype/printnode are owned by AbstractTrees, and the only argument types are owned by EzXML — neither is owned by MathML, hence piracy. Fix options: move these AbstractTrees interface methods upstream into EzXML (or an EzXML-AbstractTrees glue package), or wrap EzXML.Node in a MathML-owned wrapper type before defining the interface.
  3. JET.test_package (report_package) — 1 possible error: no matching method found mathml_to_nums(::EzXML.Node), called from mathml_to_nums(xml::EzXML.Document) @ src/utils.jl:20 (return mathml_to_nums(doc_root) where doc_root::EzXML.Node). The docstring for mathml_to_nums claims an EzXML.Node method exists, but no such method is defined. Fix: define mathml_to_nums(::EzXML.Node) (the function the Document/AbstractString methods are supposed to dispatch into).

The remaining Aqua sub-checks (ambiguities, unbound type params, undefined exports, project-extras comparison, stale deps, julia/deps/weakdeps compat, persistent tasks) pass; only the two Aqua checks and the one JET check above are wrapped broken.

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 test/qa/qa.jl and inspect the @test_broken wrappers around the Aqua and JET checks. Read src/utils.jl at lines 20 and 77-79, then run the QA group with Julia 1.11, Aqua 0.8.16, and JET 0.9.20; done means the three findings are fixed, the wrappers are removed, and the QA group remains green.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.