Repository navigation
test(coderd): run the TestPostChats workspace, input, and MCP rejections on one server - #30976
ibetitsmike wants to merge 2 commits into
Conversation
…ons on one server Move the remaining isolated rejection subtests of TestPostChats into the shared Rejects table: the four workspace cases, the empty-text and unsupported-part cases, the invalid reasoning effort, and the cross-org and third-org MCP server IDs. Each case still creates its own state.
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review
|
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
This PR moves the remaining 9 isolated rejection subtests of
TestPostChatsinto the sharedRejectstable from the previous PR: the 4 workspace cases,EmptyText,UnsupportedPartType,RejectsInvalidReasoningEffort, and the cross-org and third-org MCP server cases. Each one no longer starts its own coderd and AI Bridge daemon.MCPServerIDsDisabledConfigRejectedkeeps its own server: after the create rejection it sends a message on a chat it creates, which a single-request case cannot express.Why it is safe
Detail. The reasoning-effort case compares the full detail instead of two substrings.postChatsand its workspace, input, effort, and MCP helpers and ran the old and new test files against each one. The old file caught 10 and the new file catches the same 10, each in the case that owns it, plus a detail-text mutant the old file missed. The one mutant both survive (reading the workspace as system) returns the same response from the SSH check.Review focus
The workspace and input cases now run with the shared default model present.
postChatsrejects them before it resolves a model, so the model does not change their result. The MCP cases add their configs to orgs that no other case reads, or to the default org withdefault_off, where no other case passes MCP IDs.Timing
From 5 alternating runs, the moved subtests took 2.83 s summed (median); their 9 cases take 0.27 s on the shared server. For the whole stack,
go testreports 1.96 s instead of 3.19 s for the package.Validation
go test ./coderd -run '^TestPostChats$' -count=3: pass-race: passgo test -overlaymutant runs against the old and new test files: results abovego vet ./coderdandgolangci-lint run ./coderd/...: clean; the pre-commit hook passedStack
The stack runs every isolated
TestPostChatsrejection case on one shared server instead of one server per case.