Skip to content

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

Closed as not planned

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.

Activity

  1. VedantMadane commented on Aug 26, 2026

    @VedantMadane

    I'd like to work on this.

  2. VedantMadane commented on Aug 26, 2026

    @VedantMadane

    Looked into this: smoke/StReportParserSmoke.java is not present on main (tree only has core/plugin; git grep StReportParserSmoke is empty). :core already has the JUnit coverage described in the issue. Fine to close as already done unless the smoke file lives on another branch I missed.

  3. GabrielBBaldez commented on Aug 26, 2026

    @GabrielBBaldez
    MemberAuthor

    You are right, and thank you for going and checking instead of taking the issue at its word — that is the harder and more useful thing to do, and it saved the next person the same trip.

    The cause is on my side, and it is worse than the file simply having moved: it was never in the repository at all. .gitignore line 5 ignores smoke/, so it has only ever existed in my working copy:

    $ git check-ignore -v smoke/StReportParserSmoke.java
    .gitignore:5:smoke/	smoke/StReportParserSmoke.java
    

    I wrote the issue while looking at my own checkout and never noticed the file was invisible to everyone else. Your second point is right too — StReportParserTest in :core has exactly the 7 tests the issue was counting on, and they run on every push.

    So there is nothing here to fix, and no PR to open. Closing as you suggested. Sorry for the detour, and thank you for the clear write-up of what you found.

    If you would still like something in this repo, #6 is unassigned and would suit you: the poll loop stops rearming after its first exception, so the tool window silently freezes rather than recovering. It is small, it is a real bug, and it rewards exactly the kind of reading you just did. Yours if you want it — and no obligation either way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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