mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 04:55:31 +00:00
wgengine/magicsock: increase legacy ping timeout again
I based my estimation of the required timeout based on locally observed behavior. But CI machines are worse than my local machine. 16s was enough to reduce flakiness but not eliminate it. Bump it up again. Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
This commit is contained in:
parent
1ec64bc94d
commit
635e4c7435
13
util/cibuild/cibuild.go
Normal file
13
util/cibuild/cibuild.go
Normal file
@ -0,0 +1,13 @@
|
||||
// Copyright (c) 2021 Tailscale Inc & 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 cibuild reports runtime CI information.
|
||||
package cibuild
|
||||
|
||||
import "os"
|
||||
|
||||
// On reports whether the current binary is executing on a CI system.
|
||||
func On() bool {
|
||||
return os.Getenv("GITHUB_ACTIONS") != ""
|
||||
}
|
@ -44,6 +44,7 @@
|
||||
"tailscale.com/types/netmap"
|
||||
"tailscale.com/types/nettype"
|
||||
"tailscale.com/types/wgkey"
|
||||
"tailscale.com/util/cibuild"
|
||||
"tailscale.com/wgengine/filter"
|
||||
"tailscale.com/wgengine/tstun"
|
||||
"tailscale.com/wgengine/wgcfg"
|
||||
@ -929,10 +930,14 @@ func testTwoDevicePing(t *testing.T, d *devices) {
|
||||
|
||||
// In the normal case, pings succeed immediately.
|
||||
// However, in the case of a handshake race, we need to retry.
|
||||
// Typical retries take 5s. With very bad luck, we can need to retry
|
||||
// multiple times. Give ourselves enough time for three retries
|
||||
// plus a bit of processing time.
|
||||
const pingTimeout = 16 * time.Second
|
||||
// With very bad luck, we can need to retry multiple times.
|
||||
allowedRetries := 3
|
||||
if cibuild.On() {
|
||||
// Allow extra retries on small/flaky/loaded CI machines.
|
||||
allowedRetries *= 2
|
||||
}
|
||||
// Retries take 5s each. Add 1s for some processing time.
|
||||
pingTimeout := 5*time.Second*time.Duration(allowedRetries) + time.Second
|
||||
|
||||
ping1 := func(t *testing.T) {
|
||||
msg2to1 := tuntest.Ping(net.ParseIP("1.0.0.1"), net.ParseIP("1.0.0.2"))
|
||||
|
Loading…
Reference in New Issue
Block a user