blob: 73a8ada7eb6bde8647b72c62e044451d8fa8a8db [file] [log] [blame] [edit]
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !linux && !windows
package os_test
import (
"internal/testenv"
. "os"
"testing"
"time"
)
func TestProcessWithHandleUnsupported(t *testing.T) {
const envVar = "OSTEST_PROCESS_WITH_HANDLE"
if Getenv(envVar) != "" {
time.Sleep(1 * time.Minute)
return
}
cmd := testenv.CommandContext(t, t.Context(), testenv.Executable(t), "-test.run=^"+t.Name()+"$")
cmd = testenv.CleanCmdEnv(cmd)
cmd.Env = append(cmd.Env, envVar+"=1")
if err := cmd.Start(); err != nil {
t.Fatal(err)
}
defer func() {
cmd.Process.Kill()
cmd.Wait()
}()
err := cmd.Process.WithHandle(func(handle uintptr) {
t.Errorf("WithHandle: callback called unexpectedly with handle=%v", handle)
})
if err != ErrNoHandle {
t.Fatalf("WithHandle: got error %v, want %v", err, ErrNoHandle)
}
}