Commit78b6fa83Recorded4 Sep 2026Repositorysigil-websocket

Run the native integration clients from the repo so they test src/

Message

All three native clients were spawned with cwd "/tmp". Module resolution follows the working directory, so (sigil websocket) came from the globally installed package and src/ was never executed.

Measured, per test, by planting an unconditional raise in a procedure the test must run and checking whether the suite noticed:

  binary           validate-handshake raises -> still "integration-ok"  VACUOUS
  upgrade-timeout  validate-handshake raises -> still "integration-ok"  VACUOUS
  connect-timeout  fails rc=1 on CLEAN source at cwd=/tmp               BROKEN

connect-timeout deserves its own note: under a plant it exited 1 and looked like it was detecting the defect. It was not. The positive control -- the same test on unmodified source -- also exits 1, twice. Without that control this would have been recorded as a working gate.

With cwd set to the repo all three pass on clean source and all three go red under a plant appropriate to the path they exercise (validate-handshake for binary and upgrade-timeout, tcp-connect/bounded for connect-timeout, which never reaches the handshake).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AbXvyDXoTUyqV1tb1fkeFa

Changed
 test/integration/test-native-websocket-binary.mjs          | 2 +-
 test/integration/test-native-websocket-connect-timeout.mjs | 2 +-
 test/integration/test-native-websocket-upgrade-timeout.mjs | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Diff
test/integration/test-native-websocket-binary.mjsmodified
@@ -96,7 +96,7 @@ const args = [
96
path.join(here, "native-binary-client.sgl"),
97
];
98
const child = spawn("sigil", args, {
−99
cwd: "/tmp",
+99
cwd: repo,
100
env: { ...process.env, SIGIL_WS_TEST_PORT: String(port) },
101
stdio: ["ignore", "pipe", "pipe"],
102
});
test/integration/test-native-websocket-connect-timeout.mjsmodified
@@ -13,7 +13,7 @@ const args = [
13
path.join(here, "native-connect-timeout-client.sgl"),
14
];
15
const child = spawn("sigil", args, {
−16
cwd: "/tmp", env: process.env, stdio: ["ignore", "pipe", "pipe"],
+16
cwd: repo, env: process.env, stdio: ["ignore", "pipe", "pipe"],
17
});
18
let stdout = "";
19
let stderr = "";
test/integration/test-native-websocket-upgrade-timeout.mjsmodified
@@ -21,7 +21,7 @@ const args = [
21
path.join(here, "native-upgrade-timeout-client.sgl"),
22
];
23
const child = spawn("sigil", args, {
−24
cwd: "/tmp",
+24
cwd: repo,
25
env: { ...process.env, SIGIL_WS_TEST_PORT: String(port) },
26
stdio: ["ignore", "pipe", "pipe"],
27
});