Skip to content

Measure coverage with JaCoCo, write CONTRIBUTING.md, state the agent module's status - #66

Open
lgnap wants to merge 1 commit into
antoinevalentinHA:masterfrom
lgnap:chore/issue-5-coverage-and-contributing
Open

lgnap wants to merge 1 commit into
antoinevalentinHA:masterfrom
lgnap:chore/issue-5-coverage-and-contributing

Conversation

@lgnap

@lgnap lgnap commented Sep 11, 2026

Copy link
Copy Markdown

What

Three of the items in lgnap#5 — the ones that are configuration and documentation, each independent of the others.

Coverage, measured not enforced. jacoco-maven-plugin 0.8.13 in the root pom, prepare-agent + report bound to test, so it rides the same mvn test CI already runs; one report per module under target/site/jacoco/, uploaded by CI as jacoco-reports-<os> next to the surefire reports. No threshold, on purpose: the first measurement (Linux, standard suite, no FAT32 volume) is

core driver metadata web-ui agent
31 % 46 % 31 % 40 % —

lines covered — uneven by history, which the test counts could not show, and a number picked before looking at it would only block pull requests. TESTING.md records it as the figure to compare against. target/ is already ignored, so git diff --exit-code stays clean.

CONTRIBUTING.md. How to run both suites, what a change looks like here (one fix per PR, tests on both sides, the build leaves the tree clean, English, no device data), and the characterization/specification distinction with the KNOWN GAP rule — stated once, pointing to TESTING.md and FORMATS.md for the detail rather than duplicating them. Linked from the README.

The agent module's testing status, which TESTING.md documented for every other module and not for this one. It is a decision: a -javaagent that instruments the Luniistore application's own classes (HttpURLConnection, one of its DTOs) has no behaviour outside a process this project does not ship; a test would mock those classes into meaninglessness or require the Luniistore installed. Written down now.

Not in this PR: SpotBugs (the ticket says run it once by hand and triage before deciding on CI — that is its own session) and --coverage on the JS side.

Locally: mvn -B -Dskip.installnodeyarn=true -Dskip.yarn=true test green, four JaCoCo reports produced, tree clean after the build. JaCoCo 0.8.13 runs on Java 11 (CI) through 25 (local).

Part of lgnap#5.

🤖 Generated with Claude Code

… agent module's status

Three of the items in #5, the ones that are configuration
and documentation.

JaCoCo attaches to the same `mvn test` CI already runs and writes one
report per module under target/site/jacoco; CI uploads them as an
artifact next to the surefire reports. No threshold: the first
measurement (core 31 %, driver 46 %, metadata 31 %, web-ui 40 % of
lines, Linux, no FAT32) is uneven by history, and a number chosen before
looking at it would only block pull requests. TESTING.md records the
measurement to compare against.

CONTRIBUTING.md says what a change looks like here — one fix per pull
request, tests on both sides, the tree left clean by the build, English,
no device data — and states the characterization/specification
distinction and the KNOWN GAP rule, pointing to TESTING.md and
FORMATS.md for the detail rather than repeating them.

The agent module's lack of tests was undocumented. It is a decision: a
-javaagent instrumenting the Luniistore application's own classes has no
behaviour outside a process this project does not ship. TESTING.md now
says so.

Part of #5 — SpotBugs and JS coverage remain.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant