CI only: Windows module, test kit and rig
Draft
BA
8d ago+1210+1210+0123456789012345678901234567890123456789-165-165-012345678901234567890123456789
CI-only draft for native Windows runs of the combined Windows slices. It targets integration/windows because main has moved on and conflicts. Not for merging.
Summary by cubic
CI-only draft that enables native Windows runs of the module, test kit, rig, and host regression suites; targets integration/windows and is not for merging. Windows child processes now spawn and are owned through basal-launch instead of std::process::Command, so the worker and module suites build and run on Windows.
Windows spawns and process ownership
- Every Windows child spawn takes a process-wide
spawn_lockwhile its handles are inheritable, so no concurrent spawn can copy another child's handle;spawn_plainstarts unconfined children (fixtures, helper tools) under the same rules. - Module workers are launched via
basal-launch; confinement-fault deaths are counted separately inCONFINEMENT_FAULT_DEATHS, matching Unix SIGSYS accounting. basal-testkitandbasal-rignow track native process exit and released ownership, sample working sets, and terminate crash parents natively; reaping assertions observe a signaled process handle.- The rig's native process discovery is exercised with a real current-image positive control and an absent-image negative control; the fixture focuses on the CI runtime.
- CI gains standalone
basal-testkit,basal-rig, andbasal-hostregression test jobs alongside the module job.
Tests and fixtures
- Host privacy regressions use the public
git::run(RevParse)surface so the Windows-private repo capability type stays out of integration tests. fstests assert platform-specific path behavior: Windows refuses raw..components withinvalid_arguments, Unix resolves and denies them.- POSIX-only fixtures (symlinks, signals, descriptor numbers) are
#[cfg(unix)]gated and listed inevidence/windows-build-failures.md; remaining assertions in mixed tests still run. - New coverage includes the store's owner-only DACL on Windows, leftover PID-based temp directories not blocking launches, and native Windows job/descendant cleanup.
cortexkit-storeis bumped to=0.2.4for Windows store support.