@@ -67,13 +67,6 @@ func overrideNetResolver(t *testing.T, r *testNetResolver) {
67
67
t .Cleanup (func () { dnsinternal .NewNetResolver = origNetResolver })
68
68
}
69
69
70
- // Override the DNS Min Res Rate used by the resolver.
71
- func overrideResolutionRate (t * testing.T , d time.Duration ) {
72
- origMinResRate := dnsinternal .MinResolutionRate
73
- dnsinternal .MinResolutionRate = d
74
- t .Cleanup (func () { dnsinternal .MinResolutionRate = origMinResRate })
75
- }
76
-
77
70
// Override the timer used by the DNS resolver to fire after a duration of d.
78
71
func overrideTimeAfterFunc (t * testing.T , d time.Duration ) {
79
72
origTimeAfter := dnsinternal .TimeAfterFunc
@@ -109,7 +102,7 @@ func enableSRVLookups(t *testing.T) {
109
102
110
103
// Builds a DNS resolver for target and returns a couple of channels to read the
111
104
// state and error pushed by the resolver respectively.
112
- func buildResolverWithTestClientConn (t * testing.T , target string ) (resolver.Resolver , chan resolver.State , chan error ) {
105
+ func buildResolverWithTestClientConn (t * testing.T , target string , buildOptions resolver. BuildOptions ) (resolver.Resolver , chan resolver.State , chan error ) {
113
106
t .Helper ()
114
107
115
108
b := resolver .Get ("dns" )
@@ -135,7 +128,7 @@ func buildResolverWithTestClientConn(t *testing.T, target string) (resolver.Reso
135
128
}
136
129
137
130
tcc := & testutils.ResolverClientConn {Logger : t , UpdateStateF : updateStateF , ReportErrorF : reportErrorF }
138
- r , err := b .Build (resolver.Target {URL : * testutils .MustParseURL (fmt .Sprintf ("dns:///%s" , target ))}, tcc , resolver. BuildOptions {} )
131
+ r , err := b .Build (resolver.Target {URL : * testutils .MustParseURL (fmt .Sprintf ("dns:///%s" , target ))}, tcc , buildOptions )
139
132
if err != nil {
140
133
t .Fatalf ("Failed to build DNS resolver for target %q: %v\n " , target , err )
141
134
}
@@ -504,7 +497,7 @@ func (s) TestDNSResolver_Basic(t *testing.T) {
504
497
txtLookupTable : test .txtLookupTable ,
505
498
})
506
499
enableSRVLookups (t )
507
- _ , stateCh , _ := buildResolverWithTestClientConn (t , test .target )
500
+ _ , stateCh , _ := buildResolverWithTestClientConn (t , test .target , resolver. BuildOptions {} )
508
501
509
502
ctx , cancel := context .WithTimeout (context .Background (), defaultTestTimeout )
510
503
defer cancel ()
@@ -635,7 +628,6 @@ func (s) TestDNSResolver_ExponentialBackoff(t *testing.T) {
635
628
func (s ) TestDNSResolver_ResolveNow (t * testing.T ) {
636
629
const target = "foo.bar.com"
637
630
638
- overrideResolutionRate (t , 0 )
639
631
overrideTimeAfterFunc (t , 0 )
640
632
tr := & testNetResolver {
641
633
hostLookupTable : map [string ][]string {
@@ -647,7 +639,8 @@ func (s) TestDNSResolver_ResolveNow(t *testing.T) {
647
639
}
648
640
overrideNetResolver (t , tr )
649
641
650
- r , stateCh , _ := buildResolverWithTestClientConn (t , target )
642
+ var minResolutionRate time.Duration = 0
643
+ r , stateCh , _ := buildResolverWithTestClientConn (t , target , resolver.BuildOptions {MinDNSResolutionRate : & minResolutionRate })
651
644
652
645
// Verify that the first update pushed by the resolver matches expectations.
653
646
wantAddrs := []resolver.Address {{Addr : "1.2.3.4" + colonDefaultPort }, {Addr : "5.6.7.8" + colonDefaultPort }}
@@ -738,9 +731,10 @@ func (s) TestIPResolver(t *testing.T) {
738
731
739
732
for _ , test := range tests {
740
733
t .Run (test .name , func (t * testing.T ) {
741
- overrideResolutionRate (t , 0 )
742
734
overrideTimeAfterFunc (t , 2 * defaultTestTimeout )
743
- r , stateCh , _ := buildResolverWithTestClientConn (t , test .target )
735
+
736
+ var minResolutionRate time.Duration = 0
737
+ r , stateCh , _ := buildResolverWithTestClientConn (t , test .target , resolver.BuildOptions {MinDNSResolutionRate : & minResolutionRate })
744
738
745
739
ctx , cancel := context .WithTimeout (context .Background (), defaultTestTimeout )
746
740
defer cancel ()
@@ -943,7 +937,7 @@ func (s) TestTXTError(t *testing.T) {
943
937
// There is no entry for "ipv4.single.fake" in the txtLookupTbl
944
938
// maintained by the fake net.Resolver. So, a TXT lookup for this
945
939
// name will return an error.
946
- _ , stateCh , _ := buildResolverWithTestClientConn (t , "ipv4.single.fake" )
940
+ _ , stateCh , _ := buildResolverWithTestClientConn (t , "ipv4.single.fake" , resolver. BuildOptions {} )
947
941
948
942
ctx , cancel := context .WithTimeout (context .Background (), defaultTestTimeout )
949
943
defer cancel ()
@@ -1092,7 +1086,7 @@ func (s) TestRateLimitedResolve(t *testing.T) {
1092
1086
}
1093
1087
overrideNetResolver (t , tr )
1094
1088
1095
- r , stateCh , _ := buildResolverWithTestClientConn (t , target )
1089
+ r , stateCh , _ := buildResolverWithTestClientConn (t , target , resolver. BuildOptions {} )
1096
1090
1097
1091
// Wait for the first resolution request to be done. This happens as part
1098
1092
// of the first iteration of the for loop in watcher().
@@ -1171,7 +1165,7 @@ func (s) TestReportError(t *testing.T) {
1171
1165
overrideNetResolver (t , & testNetResolver {})
1172
1166
1173
1167
const target = "notfoundaddress"
1174
- _ , _ , errorCh := buildResolverWithTestClientConn (t , target )
1168
+ _ , _ , errorCh := buildResolverWithTestClientConn (t , target , resolver. BuildOptions {} )
1175
1169
1176
1170
// Should receive first error.
1177
1171
ctx , ctxCancel := context .WithTimeout (context .Background (), defaultTestTimeout )
0 commit comments