Skip to content

fix: pipe binding test output on Windows - #641

Open
mikemikimike wants to merge 1 commit into
withcatai:masterfrom
mikemikimike:fix/638-windows-binding-test
Open

fix: pipe binding test output on Windows#641
mikemikimike wants to merge 1 commit into
withcatai:masterfrom
mikemikimike:fix/638-windows-binding-test

Conversation

@mikemikimike

Copy link
Copy Markdown

Fixes #638

On Windows, fork() with all stdio streams ignored can exit before the binding test child sends its ready message. This makes the Vulkan prebuilt binding appear unavailable and can trigger an unnecessary source build.

This change defaults the binding test's child output streams to pipes on Windows, and makes the public getLlamaForOptions path use the same platform-specific default. Explicit pipeOutputOnNode and pipeBinaryTestErrorLogs values still take precedence.

Added a mocked IPC regression test covering the Windows default and the explicit override.

Validation:

  • npm run test:typescript
  • npm exec -- vitest run test/standalone/bindings/testBindingBinary.test.ts --reporter=verbose --pool=forks --maxWorkers=1
  • npm run lint:eslint
  • npm run format
  • npm run build
  • git diff --check

The full standalone suite was attempted, but its local llama.cpp CMake/MSBuild build did not complete in this Windows environment; no external API or GPU service was used by the regression test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

testBindingBinary fails on Windows: forked child doesn't send 'ready' with ignore stdio (Vulkan prebuilt falls back to source build)

1 participant