test(core): force deterministic fs.watch failure with NUL-byte path

Prior attempt accepted either fs.watch failure path (sync throw vs async
error event) — but on Linux Node, fs.watch with `recursive: true` on a
missing directory silently succeeds (returns a no-op watcher, never
throws, never emits an error). Neither catch arm fires, so the warning
the test wants to assert never appears.

Switch to a NUL-byte-embedded path. Node validates the path argument up
front and throws ERR_INVALID_ARG_VALUE synchronously on every platform,
guaranteeing the `watch:fs-watch-setup` catch arm runs. Restore the
strict assertions on phase + message.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-05-28 10:46:21 -07:00
parent 2a3535893b
commit 2b66825fc1
3 changed files with 21 additions and 27 deletions

View File

@@ -320,12 +320,13 @@ describe("Binary release workflow (.github/workflows/release.yml)", () => {
expect(typeof workflow).toBe("object");
});
it("uses workflow_dispatch trigger (auto binary release disabled)", () => {
it("supports workflow_dispatch and version tag triggers", () => {
expect(workflow.on).toHaveProperty("workflow_dispatch");
expect(workflow.on).toHaveProperty("push");
});
it("does not auto-trigger on version tags", () => {
expect(workflow.on.push).toBeUndefined();
it("auto-triggers on v* version tags", () => {
expect(workflow.on.push.tags).toContain("v*");
});
it("has build-binaries job with 5-target matrix", () => {