@@ -18,6 +18,7 @@ import (
18
18
)
19
19
20
20
var nslookupTestServers = []string {"mail.golang.com" , "gmail.com" }
21
+ var lookupTestIPs = []string {"8.8.8.8" , "1.1.1.1" }
21
22
22
23
func toJson (v interface {}) string {
23
24
data , _ := json .Marshal (v )
@@ -124,7 +125,7 @@ func TestNSLookupTXT(t *testing.T) {
124
125
}
125
126
}
126
127
127
- func TestLookupPTR (t * testing.T ) {
128
+ func TestLookupLocalPTR (t * testing.T ) {
128
129
testenv .MustHaveExternalNetwork (t )
129
130
130
131
addr , err := localIP ()
@@ -149,6 +150,29 @@ func TestLookupPTR(t *testing.T) {
149
150
}
150
151
}
151
152
153
+ func TestLookupPTR (t * testing.T ) {
154
+ testenv .MustHaveExternalNetwork (t )
155
+
156
+ for _ , addr := range lookupTestIPs {
157
+ names , err := LookupAddr (addr )
158
+ if err != nil {
159
+ t .Errorf ("failed %s: %s" , addr , err )
160
+ }
161
+ if len (names ) == 0 {
162
+ t .Errorf ("no results" )
163
+ }
164
+ expected , err := lookupPTR (addr )
165
+ if err != nil {
166
+ t .Logf ("skipping failed lookup %s test: %s" , addr , err )
167
+ }
168
+ sort .Strings (expected )
169
+ sort .Strings (names )
170
+ if ! reflect .DeepEqual (expected , names ) {
171
+ t .Errorf ("different results %s:\t exp:%v\t got:%v" , addr , toJson (expected ), toJson (names ))
172
+ }
173
+ }
174
+ }
175
+
152
176
type byPrefAndHost []* MX
153
177
154
178
func (s byPrefAndHost ) Len () int { return len (s ) }
0 commit comments