Skip to content

Test coverage is far below target -- tracking issue for expansion toward 85% #5

Description

@Thrameos

Summary

Upstream chromiumembedded/java-cef (and this fork, prior to #2) has thin test coverage on both sides of the JNI boundary, and no CI running it:

Target

Project requirement for the planned Panama/Silk JNI-boundary migration: 85% coverage, covering both happy and unhappy (error) paths, before that work begins in earnest. Rough sizing estimate given the surface area (131 Java classes, 146 native files): likely somewhere in the 800-1200 test range to hit that bar with meaningful branch coverage, not just line coverage.

Reference: JetBrains/jcef

JetBrains/jcef (shipped in JetBrainsRuntime/IntelliJ) has a substantially larger JUnit suite (~13 test classes vs our 5) including scenarios we have zero coverage for -- CefMessageRouter JS-query round-trips (HandleJSQueryTest), repeated browser create/dispose cycling (MultipleBrowserCreationTest), keyboard/mouse simulation, SSL. Not directly portable (built on their JBCefBrowser/CefLog wrapper classes, which don't exist upstream, and windowed-mode tests that would hit #3), but valuable as a source of test scenarios to reimplement against our own TestFrame+OSR pattern. Suggested priority: message-router round-trip and repeated-create/dispose cycling first, since those are currently completely uncovered.

Not in scope for this issue

This is a tracking/planning issue, not asking for all ~800-1200 tests in one PR. Use it to link sub-issues/PRs as coverage work lands.

Activity

  1. Thrameos commented on Aug 29, 2026

    @Thrameos
    OwnerAuthor

    CI baseline (Test + Coverage jobs, currently 12 tests) landed in #2. This issue tracks the coverage-expansion work needed on top of that baseline to reach the 85% target.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions