浏览代码

Shortening runtimes for DNS tests (#1160)

Signed-off-by: Alex Lourie <alex@instaclustr.com>
Alex Lourie 7 年之前
父节点
当前提交
44a37f43ca
共有 3 个文件被更改,包括 19 次插入3 次删除
  1. 7 2
      conn_test.go
  2. 1 1
      control.go
  3. 11 0
      helpers.go

+ 7 - 2
conn_test.go

@@ -152,6 +152,10 @@ func TestDNSLookupConnected(t *testing.T) {
 		Logger = &defaultLogger{}
 	}()
 
+	// Override the defaul DNS resolver and restore at the end
+	failDNS = true
+	defer func() { failDNS = false }()
+
 	srv := NewTestServer(t, defaultProto, context.Background())
 	defer srv.Stop()
 
@@ -178,8 +182,9 @@ func TestDNSLookupError(t *testing.T) {
 		Logger = &defaultLogger{}
 	}()
 
-	srv := NewTestServer(t, defaultProto, context.Background())
-	defer srv.Stop()
+	// Override the defaul DNS resolver and restore at the end
+	failDNS = true
+	defer func() { failDNS = false }()
 
 	cluster := NewCluster("cassandra1.invalid", "cassandra2.invalid")
 	cluster.ProtoVersion = int(defaultProto)

+ 1 - 1
control.go

@@ -121,7 +121,7 @@ func hostInfo(addr string, defaultPort int) ([]*HostInfo, error) {
 	}
 
 	// Look up host in DNS
-	ips, err := net.LookupIP(host)
+	ips, err := LookupIP(host)
 	if err != nil {
 		return nil, err
 	} else if len(ips) == 0 {

+ 11 - 0
helpers.go

@@ -7,6 +7,7 @@ package gocql
 import (
 	"fmt"
 	"math/big"
+	"net"
 	"reflect"
 	"strings"
 	"time"
@@ -363,3 +364,13 @@ func copyBytes(p []byte) []byte {
 	copy(b, p)
 	return b
 }
+
+var failDNS = false
+
+func LookupIP(host string) ([]net.IP, error) {
+	if failDNS {
+		return nil, &net.DNSError{}
+	}
+	return net.LookupIP(host)
+
+}