Round 3a: control-server test sends request 2 once after the upstream merge

The merge kept both upstream's (#2710) and the batch's step that sends the
next request (or shuts the write side) during a slow reply, so request 2
went twice and the test waited on a reply nobody gave. Upstream's step
stays, before the sleep. Also drops a mention of `cargo xtask warm`, which
doesn't exist, from test_selected's doc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
francoisgn
2026-10-23 21:13:09 +03:00
co-authored by Claude Opus 5.5
parent 13988bafee
commit 10e184f117
2 changed files with 2 additions and 9 deletions
-7
View File
@@ -318,13 +318,6 @@ mod tests {
}
// A dispatched command waits for its reply, not for socket input.
std::thread::sleep(Duration::from_millis(250));
// Prepare the next read before releasing this reply. The client need not be
// scheduled again within the worker's short idle timeout.
if id == 1 {
writeln!(connection.client.get_mut(), "{}", json!({"id": 2, "method": "engine.commands"})).unwrap();
} else {
connection.client.get_mut().shutdown(std::net::Shutdown::Write).unwrap();
}
req.reply.send(json!({"ok": true, "result": id})).unwrap();
if id == 2 {
// The worker must reach EOF even before the client reads its final reply.
+2 -2
View File
@@ -246,8 +246,8 @@ fn doctests() -> (Command, String) {
/// `ci --quick`'s tests: build every workspace test target, then run only the test binaries of
/// `packages`. Building with `-p` instead would resolve features per selection: different
/// artifacts from `ci`'s and a warm worktree's (`cargo xtask warm`) workspace builds, so it would
/// recompile ~130 crates. Doc tests are left to the full `ci`.
/// artifacts from `ci`'s workspace build, so it would recompile ~130 crates. Doc tests are left to
/// the full `ci`.
fn test_selected(root: &Path, packages: &std::collections::BTreeSet<String>, skip_log: &Path) -> Result<(), String> {
let manifests: std::collections::BTreeMap<String, String> = metadata()?["packages"]
.as_array()