tstest/integration: simplify TestDNSOverTCPIntervalResolver (#15686)

Query for the const quad-100 reverse DNS name, for which a forward
record will also be served. This test was previously dependent on
search domain behavior, and now it is not.

Updates #15607

Signed-off-by: Jordan Whited <jordan@tailscale.com>
This commit is contained in:
Jordan Whited 2025-04-14 17:13:59 -07:00 committed by GitHub
parent d8e3bce0b4
commit 21400756a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -51,7 +51,6 @@ import (
"tailscale.com/types/logger" "tailscale.com/types/logger"
"tailscale.com/types/opt" "tailscale.com/types/opt"
"tailscale.com/types/ptr" "tailscale.com/types/ptr"
"tailscale.com/util/dnsname"
"tailscale.com/util/must" "tailscale.com/util/must"
"tailscale.com/util/rands" "tailscale.com/util/rands"
"tailscale.com/version" "tailscale.com/version"
@ -1140,18 +1139,9 @@ func TestDNSOverTCPIntervalResolver(t *testing.T) {
n1.AwaitResponding() n1.AwaitResponding()
n1.MustUp() n1.MustUp()
wantIP4 := n1.AwaitIP4()
n1.AwaitRunning() n1.AwaitRunning()
status, err := n1.Status() const dnsSymbolicFQDN = "magicdns.localhost-tailscale-daemon."
if err != nil {
t.Fatalf("failed to get node status: %v", err)
}
selfDNSName, err := dnsname.ToFQDN(status.Self.DNSName)
if err != nil {
t.Fatalf("error converting self dns name to fqdn: %v", err)
}
cases := []struct { cases := []struct {
network string network string
@ -1167,9 +1157,9 @@ func TestDNSOverTCPIntervalResolver(t *testing.T) {
}, },
} }
for _, c := range cases { for _, c := range cases {
err = tstest.WaitFor(time.Second*5, func() error { err := tstest.WaitFor(time.Second*5, func() error {
m := new(dns.Msg) m := new(dns.Msg)
m.SetQuestion(selfDNSName.WithTrailingDot(), dns.TypeA) m.SetQuestion(dnsSymbolicFQDN, dns.TypeA)
conn, err := net.DialTimeout(c.network, net.JoinHostPort(c.serviceAddr.String(), "53"), time.Second*1) conn, err := net.DialTimeout(c.network, net.JoinHostPort(c.serviceAddr.String(), "53"), time.Second*1)
if err != nil { if err != nil {
return err return err
@ -1194,8 +1184,8 @@ func TestDNSOverTCPIntervalResolver(t *testing.T) {
return fmt.Errorf("unexpected answer type: %s", resp.Answer[0]) return fmt.Errorf("unexpected answer type: %s", resp.Answer[0])
} }
gotAddr = answer.A gotAddr = answer.A
if !bytes.Equal(gotAddr, wantIP4.AsSlice()) { if !bytes.Equal(gotAddr, tsaddr.TailscaleServiceIP().AsSlice()) {
return fmt.Errorf("got (%s) != want (%s)", gotAddr, wantIP4) return fmt.Errorf("got (%s) != want (%s)", gotAddr, tsaddr.TailscaleServiceIP())
} }
return nil return nil
}) })