fix: harden workspace preprocessing contract

This commit is contained in:
2026-08-11 00:59:15 +02:00
parent 9df7c38069
commit 05a6e8cc2d
11 changed files with 494 additions and 32 deletions
@@ -0,0 +1,23 @@
//go:build windows
package compose
import (
"golang.org/x/sys/windows"
"os/exec"
"testing"
)
func TestOwnedProcessConfigurationStartsSuspended(t *testing.T) {
cmd := exec.Command("cmd.exe")
configureOwnedProcess(cmd)
if cmd.SysProcAttr == nil || cmd.SysProcAttr.CreationFlags&windows.CREATE_SUSPENDED == 0 {
t.Fatal("owned Windows process must start suspended until job assignment")
}
}
func TestOwnedJobPolicyKillsDescendantsOnClose(t *testing.T) {
if windows.JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE == 0 {
t.Fatal("owned job must use kill-on-close policy")
}
}