1
0
mirror of https://github.com/golang/go synced 2024-11-26 08:38:01 -07:00
go/src/net/error_plan9_test.go
Bryan C. Mills acc65b47e1 net: refactor TestWriteToTimeout
The test cases for this test had listed specific errors, but the
specific error values were ignored in favor of just calling
isDeadlineExceeded.

Moreover, ENOBUFS errors (which can legitimately occur in the test if
the network interface also happens to be saturated when the timeout
occurs) were not handled at all.

Now the test relies only on the timeout: we iterate until we have seen
two of the expected timeout errors, and if we see ENOBUFS instead of
"deadline exceeded" we back off to give the queues time to drain.

Fixes #49930

Change-Id: I258a6d5c935d9635b02dffd79e197ba9caf83ac8
Reviewed-on: https://go-review.googlesource.com/c/go/+/370882
Trust: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2021-12-13 16:44:13 +00:00

24 lines
476 B
Go

// Copyright 2015 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.
package net
import "syscall"
var (
errTimedout = syscall.ETIMEDOUT
errOpNotSupported = syscall.EPLAN9
abortedConnRequestErrors []error
)
func isPlatformError(err error) bool {
_, ok := err.(syscall.ErrorString)
return ok
}
func isENOBUFS(err error) bool {
return false // ENOBUFS is Unix-specific
}