Conversation
The `remote_cache_backend` fixture tested the Node test backend's own protocol through `cbor-http`, including state shared across wrapper invocations. The next change gives each e2e case one long-lived backend, and the backend is later replaced by the public cache service, which has its own protocol tests. The `remote_cache` cases keep exercising the backend through `vp run`. Remove the fixture, `cbor-http`, its EDN formatting and unit test, the `cbor-edn` catalog entry, and the CI steps that ran that test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`remote-cache-server COMMAND` started a backend for one command, so a case with several steps started several backends that shared state through files, each on a new port. Each case now starts one backend in its first step and stops it in its last: - `remote-cache-server start` runs the backend in the background, in its own session and without the terminal, so the step can finish and Ctrl-C in later steps doesn't reach it. It writes the endpoint to `remote-cache/server.json`. - `remote-cache-server run COMMAND` runs the command against that endpoint and then prints the request lines it caused. - `remote-cache-server stop` stops the backend and fails if the backend answered with a 5xx status. A backend whose case directory is gone, or that has been idle for ten minutes, also stops. The endpoint is now a tap that forwards requests and responses unchanged and records the request lines, so the backend behind it no longer logs. Apart from the added steps and the `run` in each command line, the snapshots are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fspy benchmarklinuxmacoswindows |
wan9chi
added this pull request to stack #812
October 5, 2026 05:59
This branch has not been deployed
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.
Motivation
The remote cache e2e cases should run against the public cache service from #718, the backend users actually deploy. That service is a long-lived deployment: its endpoint is also the audience of upload tokens, and it keeps its state for as long as it runs.
remote-cache-server COMMANDstarted a fresh backend on a new port for every step, and the steps shared state through files.This stack gets the test infrastructure in place first, against the existing file backend. After #718, one change then switches the backend without changing any snapshots.
Changes
remote-cache-server startruns the backend in the background, in its own session and without the terminal's file descriptors. The step can then finish, and Ctrl-C in later steps doesn't reach the backend. It writes the endpoint toremote-cache/server.json.remote-cache-server run COMMAND [ARGS...]runs the command against that endpoint, then prints the request lines it caused, as the wrapper did.remote-cache-server stopstops the backend. It fails if the backend answered with a 5xx status.runin each command line, the snapshots are unchanged.remote_cache_backend. That fixture tested the file backend's own protocol throughcbor-http, including state shared across wrapper invocations. The file backend is replaced later in this stack, and the service has its own protocol tests. The fixture,cbor-http, its EDN formatting and unit test, thecbor-edncatalog entry, and the CI steps that ran the test are removed.The harness doesn't change. Cases manage their backend through their own steps.
🤖 Generated with Claude Code