objectionary / objectionary/lints

Unable to cover LtUnlintNonExistingDefect due to hand-written JUnit cases in LtUnlintNonExistingDefectTest

Open
#1,349 0 comments 0 reactions 1 assignee View on GitHub

@volodya-lombrozo is already working on this.

Since Sep 4, 2026.

enhancement good-title
Dominant language
Java
Stars
14
Forks
39
Avg merge
22h 54m
Merged PRs (30d)
90

Description

I cannot cover LtUnlintNonExistingDefect through LtByXslTest's pack infrastructure because LtUnlintNonExistingDefectTest still hand-constructs new LtUnlintNonExistingDefect(lints, excluded) in Java for every scenario, the same gap we already closed for LtUnlint in objectionary/lints#1347.

LtUnlintNonExistingDefect is registered in production PkMono under lint: unlint-non-existing-defect, so most of the 12 cases — the ones built on LtAsciiOnly and aliases/alias-too-long fixtures — should convert directly to lint: unlint-non-existing-defect packs with input: EO source. The two cases using the private Boom lint (doesNotRunLintsWithoutUnlints, doesNotInvokeUnreferencedLint) stay hand-written JUnit — Boom only exists to prove an unreferenced lint is never invoked, and it isn't registered in production PkMono, so a pack can't reach it (same reasoning as LtAlways in #1347).

Several of the .eo fixtures this test currently uses (unlint-ascii-only-no-defect.eo, unlint-ascii-only-duplicate.eo, unlint-ascii-only-wrong-line.eo, unlint-ascii-only-out-range.eo, unlint-ascii-only-absent.eo) already violate the current EO grammar — mid-file comments and missing blank lines the parser now rejects — the same class of problem we hit converting LtUnlintTest. These will need rewriting as valid EO, not a literal copy-paste into input:.

Contributor guide

No contributing guide indexed for this repository

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.