Skip to content

v1.0.17

Choose a tag to compare

@github-actions github-actions released this 11 Oct 11:57
· 12 commits to main since this release

Added

  • The opt-in integration suite that AGENTS.md has been documenting all along.
    The guide promised BROWSER_AGENT_IT=1 pytest -m integration. The marker was
    registered in pyproject.toml, but nothing implemented the gate and no test carried
    the marker — so the documented command selected zero tests while implying the
    X11/Chrome layer was covered. The layer that actually breaks in production (Xvfb
    start, xdotool, scrot, the CDP handshake) had no automated coverage anywhere.

    tests/conftest.py implements the gate: integration-marked tests skip unless
    BROWSER_AGENT_IT is truthy, and skip again — with a different reason — when the
    host lacks Xvfb, xdotool or a capture tool. A missing opt-in is the operator's
    choice; a missing binary is a provisioning problem. Neither is a test failure,
    because a check that fails for the wrong reason gets disabled.

    tests/integration/test_x11_smoke.py covers X11 only, on a display that is not the
    daemon's :99 so it cannot drive a running daemon's cursor. The assertion that
    matters reads the cursor back from the X server with getmouselocation rather than
    trusting move_mouse's return value, which is the point it asked for and therefore
    proves only that the method ran. Also covered: the geometry the daemon asked for,
    a decodable PNG at the right size, the exit-0-with-stderr keysym quirk that P2-4 was
    written for, and that the display is re-bindable afterwards.

  • tests/test_integration_gate.py — the coverage claim is now itself asserted.
    The marker is registered, at least one test carries it, the gate is off by default
    and on for a truthy value, and a plain run reports the skip reason. Verified
    negative in both directions: deleting the tests fails two of these, and deleting
    the gate fails two others. A guard that needs Xvfb would itself be skippable, so
    these four run everywhere and cost about a second.

Documentation

  • AGENTS.md now states what is and is not covered, in those words. The old line
    said "real-Chrome tests are opt-in", which overstated it twice: the harness is X11
    only, and Chrome, CDP and the Turnstile solver still have no automated coverage
    anywhere — they are exercised against fakes, never against a real browser, and
    browser-agent doctor is the only thing that touches them. A reader now learns
    that from the guide instead of assuming the opposite.