Skip to content

smoke/StReportParserSmoke.java is never compiled by anything #15

Description

@GabrielBBaldez

smoke/StReportParserSmoke.java describes itself as a "dependency-free smoke check for the parser (run with plain javac, no IntelliJ SDK)". Nothing compiles it. settings.gradle.kts includes :core and :plugin only, and no build script mentions the directory:

rootProject.name = "stacktale-intellij"
include(":core", ":plugin")

So it imports StReport and StReportParser and asserts against them, and none of that is checked against the code as it exists today. The parser has changed since — the frame regex and the truncated-block handling both moved — and this file may or may not still compile. Nobody would find out.

That was defensible when the repo had no CI and the file was a way to check the parser without downloading the IntelliJ SDK. #13 added CI, and :core:test now runs the real suite on every push, so the reason it existed is gone.

What to do

Pick one, and the choice is genuinely open:

Delete it. :core has 7 tests covering the same parser with JUnit and AssertJ, which give better failure messages than System.out.println((cond ? "OK " : "FAIL ")). If nothing here is untested by :core, the file is a second, worse copy.

Or wire it in. Before deleting, diff what it asserts against core/src/test/java/.../StReportParserTest.java. If it covers a case the JUnit suite doesn't, that case is the valuable part — move it into the suite as a proper test, then delete the file.

Either way the repo should not keep a source file that no build touches. Whichever you choose, say in the PR which cases you found and where they ended up, so the next person doesn't have to redo the comparison.

Verify

./gradlew build still passes, :core:test still reports its tests, and git grep -l StReportParserSmoke returns nothing. If any assertion moved into the suite, temporarily break the parser behaviour it covers and watch that test go red.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions