1
0
mirror of https://github.com/golang/go synced 2024-10-03 05:11:21 -06:00

net: do not test TestReadWriteDeadline timeout upper bound during short test

It also increases timeout deltas to allow for longer wait.
Also disables this test on plan9.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/6821062
This commit is contained in:
Alex Brainman 2012-11-04 12:41:49 +11:00
parent 20548b153f
commit a906f9aa86
2 changed files with 11 additions and 4 deletions

View File

@ -24,6 +24,8 @@ func probeIPv6Stack() (supportsIPv6, supportsIPv4map bool) {
return false, false return false, false
} }
var canCancelIO = true // used for testing current package
// parsePlan9Addr parses address of the form [ip!]port (e.g. 127.0.0.1!80). // parsePlan9Addr parses address of the form [ip!]port (e.g. 127.0.0.1!80).
func parsePlan9Addr(s string) (ip IP, iport int, err error) { func parsePlan9Addr(s string) (ip IP, iport int, err error) {
addr := IPv4zero // address contains port only addr := IPv4zero // address contains port only

View File

@ -148,19 +148,24 @@ func TestTimeoutAccept(t *testing.T) {
} }
func TestReadWriteDeadline(t *testing.T) { func TestReadWriteDeadline(t *testing.T) {
switch runtime.GOOS {
case "plan9":
t.Logf("skipping test on %q", runtime.GOOS)
return
}
if !canCancelIO { if !canCancelIO {
t.Logf("skipping test on this system") t.Logf("skipping test on this system")
return return
} }
const ( const (
readTimeout = 100 * time.Millisecond readTimeout = 50 * time.Millisecond
writeTimeout = 200 * time.Millisecond writeTimeout = 250 * time.Millisecond
delta = 40 * time.Millisecond
) )
checkTimeout := func(command string, start time.Time, should time.Duration) { checkTimeout := func(command string, start time.Time, should time.Duration) {
is := time.Now().Sub(start) is := time.Now().Sub(start)
d := should - is d := should - is
if d < -delta || delta < d { if d < -30*time.Millisecond || !testing.Short() && 150*time.Millisecond < d {
t.Errorf("%s timeout test failed: is=%v should=%v\n", command, is, should) t.Errorf("%s timeout test failed: is=%v should=%v\n", command, is, should)
} }
} }