diff --git a/src/internal/poll/fd_windows_test.go b/src/internal/poll/fd_windows_test.go index 772008293e..6c7604fd74 100644 --- a/src/internal/poll/fd_windows_test.go +++ b/src/internal/poll/fd_windows_test.go @@ -20,77 +20,6 @@ func init() { poll.InitWSA() } -// checkFileIsNotPartOfNetpoll verifies that f is not managed by netpoll. -func checkFileIsNotPartOfNetpoll(t *testing.T, f *os.File) { - t.Helper() - sc, err := f.SyscallConn() - if err != nil { - t.Fatal(err) - } - if err := sc.Control(func(fd uintptr) { - // Only try to associate the file with an IOCP if the handle is opened for overlapped I/O, - // else the association will always fail. - overlapped, err := windows.IsNonblock(syscall.Handle(fd)) - if err != nil { - t.Fatalf("%v fd=%v: %v", f.Name(), fd, err) - } - if overlapped { - // If the file is part of netpoll, then associating it with another IOCP should fail. - if _, err := windows.CreateIoCompletionPort(syscall.Handle(fd), 0, 0, 1); err != nil { - t.Fatalf("%v fd=%v: is part of netpoll, but should not be: %v", f.Name(), fd, err) - } - } - }); err != nil { - t.Fatalf("%v fd=%v: is not initialized", f.Name(), f.Fd()) - } -} - -func TestFileFdsAreInitialised(t *testing.T) { - t.Parallel() - exe, err := os.Executable() - if err != nil { - t.Fatal(err) - } - f, err := os.Open(exe) - if err != nil { - t.Fatal(err) - } - defer f.Close() - - checkFileIsNotPartOfNetpoll(t, f) -} - -func TestSerialFdsAreInitialised(t *testing.T) { - t.Parallel() - for _, name := range []string{"COM1", "COM2", "COM3", "COM4"} { - t.Run(name, func(t *testing.T) { - t.Parallel() - h, err := syscall.CreateFile(syscall.StringToUTF16Ptr(name), - syscall.GENERIC_READ|syscall.GENERIC_WRITE, - 0, - nil, - syscall.OPEN_EXISTING, - syscall.FILE_ATTRIBUTE_NORMAL|syscall.FILE_FLAG_OVERLAPPED, - 0) - if err != nil { - if errno, ok := err.(syscall.Errno); ok { - switch errno { - case syscall.ERROR_FILE_NOT_FOUND, - syscall.ERROR_ACCESS_DENIED: - t.Log("Skipping: ", err) - return - } - } - t.Fatal(err) - } - f := os.NewFile(uintptr(h), name) - defer f.Close() - - checkFileIsNotPartOfNetpoll(t, f) - }) - } -} - func TestWSASocketConflict(t *testing.T) { t.Parallel() s, err := windows.WSASocket(syscall.AF_INET, syscall.SOCK_STREAM, syscall.IPPROTO_TCP, nil, 0, windows.WSA_FLAG_OVERLAPPED)