tstest/integration/vms: attempt to send more UDP packets (#2433)

Apparently this test was flaking because I critically misunderstood how
the kernel buffers UDP packets for senders. I'm trying to send more UDP
packets and will see if that helps.

Signed-off-by: Christine Dodrill <xe@tailscale.com>
This commit is contained in:
Christine Dodrill 2021-07-15 11:21:19 -04:00 committed by GitHub
parent 09e81b8ba1
commit 3ebe16558c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -602,9 +602,21 @@ func (h Harness) testDistro(t *testing.T, d Distro, ipm ipMapping) {
} }
defer ln.Close() defer ln.Close()
ctx, cancel := context.WithCancel(context.Background())
t.Cleanup(cancel)
go func() {
for {
select {
case <-ctx.Done():
return
default:
}
sess, err := cli.NewSession() sess, err := cli.NewSession()
if err != nil { if err != nil {
t.Fatalf("can't open session: %v", err) t.Errorf("can't open session: %v", err)
return
} }
defer sess.Close() defer sess.Close()
@ -615,13 +627,16 @@ func (h Harness) testDistro(t *testing.T, d Distro, ipm ipMapping) {
_, port, _ := net.SplitHostPort(ln.LocalAddr().String()) _, port, _ := net.SplitHostPort(ln.LocalAddr().String())
cmd := fmt.Sprintf("/udp_tester -client %s\n", net.JoinHostPort("100.64.0.1", port)) cmd := fmt.Sprintf("/udp_tester -client %s\n", net.JoinHostPort("100.64.0.1", port))
time.Sleep(10 * time.Millisecond)
t.Logf("sending packet: %s", cmd) t.Logf("sending packet: %s", cmd)
err = sess.Run(cmd) err = sess.Run(cmd)
if err != nil { if err != nil {
t.Errorf("can't send UDP packet: %v", err) t.Logf("can't send UDP packet: %v", err)
} }
time.Sleep(10 * time.Millisecond)
}
}()
t.Log("listening for packet") t.Log("listening for packet")
n, _, err := ln.ReadFromUDP(buf) n, _, err := ln.ReadFromUDP(buf)
if err != nil { if err != nil {