tailscale/net
Brad Fitzpatrick 49eb1b5d26 net/dns: fix TestDNSTrampleRecovery failure under flakestress
The test had two problems:

1. runFileWatcher passed hardcoded "/etc/" to the inotify watcher,
   but the test filesystem uses a temp directory prefix. The watcher
   was watching the real /etc/, never seeing the test's file writes.

2. The test's watchFile used gonotify.NewDirWatcher which creates
   goroutines that block on real inotify syscalls. These don't work
   inside synctest's fake-time bubble. The test only passed standalone
   by accident: gonotify walks /etc/ on startup producing fake events
   that happened to trigger trample detection at the right time.

Fix the path issue by adding ActualPath to the wholeFileFS interface,
which translates logical paths (like "/etc/resolv.conf") to real
filesystem paths (respecting any test prefix). Use it in
runFileWatcher so the inotify watch targets the correct directory.

Replace gonotify in the test with a one-shot timer that synctest can
advance through fake time, reliably triggering the trample check.

Fixes #19400

Change-Id: Idb252881ec24d0ab3b3c1d154dbdaf532db837d4
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2026-04-14 06:55:35 -07:00
..
ace all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
art all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
bakedroots all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
batching cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
captivedetection all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
connectproxy all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
dns net/dns: fix TestDNSTrampleRecovery failure under flakestress 2026-04-14 06:55:35 -07:00
dnscache all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
dnsfallback all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
flowtrack all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
ipset all: use bart.Lite instead of bart.Table where appropriate 2026-03-24 14:45:23 +00:00
ktimeout all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
memnet all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netaddr all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netcheck cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
neterror all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
netkernelconf all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netknob all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netmon ipn/ipnlocal,net/netmon: make frequent darkwake more efficient 2026-04-06 15:46:51 -07:00
netns netns: add Android callback to bind socket to network (#18915) 2026-03-11 12:28:28 -07:00
netstat all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
netutil all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
netx all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
packet net,tsnet: fix the capitalisation of "Wireshark" 2026-03-26 19:39:29 +00:00
ping all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
portmapper all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
porttrack net/porttrack: change magic listen address format for Go 1.26 2026-03-04 21:57:05 -08:00
proxymux all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
routetable netns,wgengine: add OpenBSD support to netns via an rtable 2026-02-25 12:44:32 -08:00
sockopts all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
socks5 all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
sockstats all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
speedtest cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
stun cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
stunserver all: use Go 1.26 things, run most gofix modernizers 2026-03-06 13:32:03 -08:00
tcpinfo all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tlsdial tsd, all: add Sys.ExtraRootCAs, plumb through TLS dial paths 2026-04-07 18:10:54 -07:00
tsaddr all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tsdial all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
tshttpproxy cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
tstun tailcfg,ipn/ipnlocal: regulate netmap caching via a node attribute (#19117) 2026-04-01 15:02:53 -07:00
udprelay cmd/vet: add subtestnames analyzer; fix all existing violations 2026-04-05 15:52:51 -07:00
wsconn all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00