Skip to content

TESTS_FILE edges are never created for JVM (Kotlin/JUnit) tests #1556

Open

Description

@PsyTech-Rob

Environment: v0.10.2, Windows 11, --mode full. Kotlin (JUnit5/Testcontainers) + TypeScript (vitest) monorepo.

Symptom

TESTS_FILE edges are created only for the TypeScript side. Measured on a full index:

  • Files matching .*(Test|IT)\.kt or .*\.test\.tsx?: 283
  • TESTS_FILE edges: 92 — all of them .test.tsx (66) / .test.ts (26)
  • JVM tests linked: 0, including trivially-conventional pairs like AgendarUseCaseTest.kt → AgendarUseCase.kt (same package, sibling src/test/kotlin source set) and JooqCompromissoRepositoryIT.kt → JooqCompromissoRepository.kt.

Impact

Any "which tests cover this class?" query over the graph silently answers "none" for the whole JVM half of a polyglot repo. We now instruct agents to fall back to naming convention + OVERRIDE edges of test fakes for Kotlin, but the edge type advertises coverage it doesn't have.

Suggestion

Apply the same filename/convention heuristic used for *.test.ts(x) to JVM conventions (XTest/XIT, src/test/{kotlin,java} mirroring src/main/...), or document TESTS_FILE as TS-only.

Activity

  1. added
    bugSomething isn't working
    parsing/qualityGraph extraction bugs, false positives, missing edges
    priority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.
    on Aug 12, 2026
  2. DeusData commented on Aug 12, 2026

    @DeusData
    Owner

    Thank you @PsyTech-Rob. Confirmed in pass_tests.c: XTest.kt is recognized as a test path, but test_to_prod_path() only derives production paths for Go, Python, and JavaScript/TypeScript naming conventions. It has no Kotlin/Java source-set mirror and no XIT.kt mapping, so JVM TESTS_FILE edges cannot be created by the current pass.

    Routed priority/high under the parsing and extraction epic #592. The measured TS/JVM split is a useful regression fixture.

  3. DeusData commented on Oct 19, 2026

    @DeusData
    Owner

    Thank you again for the measured TS/JVM difference and the concrete Kotlin naming pairs. I have no new fix to report for JVM TESTS_FILE mapping; no additional reproduction is requested at this stage.

  4. DeusData commented on Oct 25, 2026

    @DeusData
    Owner

    Thank you for the concrete JVM test/source pairs. The TESTS_FILE mapping gap remains for maintainer follow-through with no additional reproduction needed. Sorry for the delay; this is waiting on maintainer follow-up, and I’ll follow up soon.

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

    bugSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edgespriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.windowsWindows-specific issues

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions