From 10e184f117ba2deb72532fec7bcfd17d98f21526 Mon Sep 17 00:00:00 2001 From: francoisgn <32835330+francoisgn@users.noreply.github.com> Date: Fri, 23 Oct 2026 21:13:09 +0300 Subject: [PATCH] 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 --- apps/lightcraft/src/control_server.rs | 7 ------- xtask/src/main.rs | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/apps/lightcraft/src/control_server.rs b/apps/lightcraft/src/control_server.rs index f24b8b04e..95aa10896 100644 --- a/apps/lightcraft/src/control_server.rs +++ b/apps/lightcraft/src/control_server.rs @@ -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. diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 05ce3fd9c..c4101ec38 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -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, skip_log: &Path) -> Result<(), String> { let manifests: std::collections::BTreeMap = metadata()?["packages"] .as_array()