mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Increase resolution timeout for TestCacheResolution
Fixes pkg/tcpip/stack:stack_test flake experienced while running TestCacheResolution with gotsan. This occurs when the test-runner takes longer than the resolution timeout to call linkAddrCache.get. In this test we don't care about the resolution timeout, so set it to the maximum and rely on test-runner timeouts to avoid deadlocks. PiperOrigin-RevId: 330566250
This commit is contained in:
@@ -16,6 +16,7 @@ package stack
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
"sync/atomic"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -191,7 +192,13 @@ func TestCacheReplace(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestCacheResolution(t *testing.T) {
|
||||
c := newLinkAddrCache(1<<63-1, 250*time.Millisecond, 1)
|
||||
// There is a race condition causing this test to fail when the executor
|
||||
// takes longer than the resolution timeout to call linkAddrCache.get. This
|
||||
// is especially common when this test is run with gotsan.
|
||||
//
|
||||
// Using a large resolution timeout decreases the probability of experiencing
|
||||
// this race condition and does not affect how long this test takes to run.
|
||||
c := newLinkAddrCache(1<<63-1, math.MaxInt64, 1)
|
||||
linkRes := &testLinkAddressResolver{cache: c}
|
||||
for i, ta := range testAddrs {
|
||||
got, err := getBlocking(c, ta.addr, linkRes)
|
||||
|
||||
Reference in New Issue
Block a user