envtest.Environment.Stop() fails on Windows after starting the local control plane.
The tests can pass, but teardown fails when stopping kube-apiserver and etcd:
unable to signal for process ... kube-apiserver to stop: not supported by windows
unable to signal for process ... etcd to stop: not supported by windows
The failure seems to come from pkg/internal/testing/process/signal_other.go, which calls os.Process.Signal(sig). On Windows, signaling SIGTERM / SIGKILL is not supported.
Expected behavior: envtest.Environment.Stop() should stop the local control plane successfully on Windows.
I tested a small patch that adds a Windows-specific signalProcess implementation using process.Kill(), and it fixes teardown for an envtest admission webhook suite on Windows.
envtest.Environment.Stop()fails on Windows after starting the local control plane.The tests can pass, but teardown fails when stopping
kube-apiserverandetcd:The failure seems to come from
pkg/internal/testing/process/signal_other.go, which callsos.Process.Signal(sig). On Windows, signalingSIGTERM/SIGKILLis not supported.Expected behavior:
envtest.Environment.Stop()should stop the local control plane successfully on Windows.I tested a small patch that adds a Windows-specific
signalProcessimplementation usingprocess.Kill(), and it fixes teardown for an envtest admission webhook suite on Windows.