Add the server testing framework design (Phase 0) - #347
Merged
Conversation
Three legs: unit tests as the regression layer (byte-level protocol tests and per-encoding decoder goldens), the live server fleet for smoke and discovery via subprocess-run CLI with event-sink verification, and a capture kit (vncdolog --capture plus an in-repo replay tool) for servers we cannot host. Replay never runs in CI; bugs found live or via capture are distilled into unit tests. Supersedes the #341 scenario-registry approach, retires pexpect and the native libvncserver build, and demotes the generated compatibility.rst to a non-requirement. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Phase 0 now points at docs/testing-framework-design.md and reflects its decisions: unit tests as the regression layer, no replay in CI, decoder golden unit tests instead of live golden PNGs, subprocess-run smoke with event-sink verification, the native libvncserver build retired into the compose fleet, and generated compatibility.rst demoted to a non-requirement. Tier 3 becomes capture-plus-distill (vncdolog --capture evidence on issues, replay tool for maintainers, distilled unit tests as the permanent floor) instead of in-repo replayable fingerprint fixtures. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs-only. First of a six-PR stack that builds out the VNC server testing framework; this one is the design and the plan reconciliation, no code.
What's here
docs/testing-framework-design.md— the design. Three legs:vncdoCLI viasubprocess.runand verify through event sinks, so a hang is contained by the kernel reaping the subprocess rather than by anything in-process.vnclog --captureplus an in-repo replay tool. Replay never runs in CI; it is a maintainer tool for reproducing a reporter's server locally.docs/server-compatibility-plan.md— Phase 0 updated to match those decisions. Tier 3 becomes capture-plus-distill (capture evidence on issues, replay tool for maintainers, distilled unit tests as the floor) rather than in-repo replayable fingerprint fixtures.Consequences
compatibility.rstto a non-requirement.Stack
vncdoCLI, event sinks, pexpect retiredvnclog --capturereplay_server.pyEach phase lands as its own PR stacked on the previous one.
🤖 Generated with Claude Code