// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // TODO It would be nice to use a mock DNS server, to eliminate // external dependencies. package net import ( "runtime" "testing" ) var avoidMacFirewall = runtime.GOOS == "darwin" func TestGoogleSRV(t *testing.T) { if testing.Short() || avoidMacFirewall { t.Logf("skipping test to avoid external network") return } _, addrs, err := LookupSRV("xmpp-server", "tcp", "google.com") if err != nil { t.Errorf("failed: %s", err) } if len(addrs) == 0 { t.Errorf("no results") } // Non-standard back door. _, addrs, err = LookupSRV("", "", "_xmpp-server._tcp.google.com") if err != nil { t.Errorf("back door failed: %s", err) } if len(addrs) == 0 { t.Errorf("back door no results") } } func TestGmailMX(t *testing.T) { if testing.Short() || avoidMacFirewall { t.Logf("skipping test to avoid external network") return } mx, err := LookupMX("gmail.com") if err != nil { t.Errorf("failed: %s", err) } if len(mx) == 0 { t.Errorf("no results") } } func TestGmailTXT(t *testing.T) { if testing.Short() || avoidMacFirewall { t.Logf("skipping test to avoid external network") return } txt, err := LookupTXT("gmail.com") if err != nil { t.Errorf("failed: %s", err) } if len(txt) == 0 || len(txt[0]) == 0 { t.Errorf("no results") } } func TestGoogleDNSAddr(t *testing.T) { if testing.Short() || avoidMacFirewall { t.Logf("skipping test to avoid external network") return } names, err := LookupAddr("8.8.8.8") if err != nil { t.Errorf("failed: %s", err) } if len(names) == 0 { t.Errorf("no results") } }