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.
smoke/StReportParserSmoke.javadescribes itself as a "dependency-free smoke check for the parser (run with plain javac, no IntelliJ SDK)". Nothing compiles it.settings.gradle.ktsincludes:coreand:pluginonly, and no build script mentions the directory:So it imports
StReportandStReportParserand 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:testnow 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.
:corehas 7 tests covering the same parser with JUnit and AssertJ, which give better failure messages thanSystem.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 buildstill passes,:core:teststill reports its tests, andgit grep -l StReportParserSmokereturns nothing. If any assertion moved into the suite, temporarily break the parser behaviour it covers and watch that test go red.