func TestLookupCNAME(t *testing.T) {
mustHaveExternalNetwork(t)
+ testenv.SkipFlakyNet(t)
if !supportsIPv4() || !*testIPv4 {
t.Skip("IPv4 is required")
func TestLookupGoogleHost(t *testing.T) {
mustHaveExternalNetwork(t)
+ testenv.SkipFlakyNet(t)
if !supportsIPv4() || !*testIPv4 {
t.Skip("IPv4 is required")
func TestLookupGoogleIP(t *testing.T) {
mustHaveExternalNetwork(t)
+ testenv.SkipFlakyNet(t)
if !supportsIPv4() || !*testIPv4 {
t.Skip("IPv4 is required")
testenv.SkipFlaky(t, 27992)
}
mustHaveExternalNetwork(t)
+ testenv.SkipFlakyNet(t)
if !supportsIPv4() || !*testIPv4 {
t.Skip("IPv4 is required")
func testDots(t *testing.T, mode string) {
names, err := LookupAddr("8.8.8.8") // Google dns server
if err != nil {
- testenv.SkipFlakyNet(t)
t.Errorf("LookupAddr(8.8.8.8): %v (mode=%v)", err, mode)
} else {
for _, name := range names {
cname, err := LookupCNAME("www.mit.edu")
if err != nil {
- testenv.SkipFlakyNet(t)
t.Errorf("LookupCNAME(www.mit.edu, mode=%v): %v", mode, err)
} else if !strings.HasSuffix(cname, ".") {
t.Errorf("LookupCNAME(www.mit.edu) = %v, want cname ending in . with trailing dot (mode=%v)", cname, mode)
mxs, err := LookupMX("google.com")
if err != nil {
- testenv.SkipFlakyNet(t)
t.Errorf("LookupMX(google.com): %v (mode=%v)", err, mode)
} else {
for _, mx := range mxs {
nss, err := LookupNS("google.com")
if err != nil {
- testenv.SkipFlakyNet(t)
t.Errorf("LookupNS(google.com): %v (mode=%v)", err, mode)
} else {
for _, ns := range nss {
cname, srvs, err := LookupSRV("xmpp-server", "tcp", "google.com")
if err != nil {
- testenv.SkipFlakyNet(t)
t.Errorf("LookupSRV(xmpp-server, tcp, google.com): %v (mode=%v)", err, mode)
} else {
if !hasSuffixFold(cname, ".google.com.") {
// canceled lookups (see golang.org/issue/24178 for details).
func TestLookupHostCancel(t *testing.T) {
mustHaveExternalNetwork(t)
+ testenv.SkipFlakyNet(t)
t.Parallel() // Executes 600ms worth of sequential sleeps.
const (