Merge pull request #6923 from inteon/fix_dns_test_flake

Fix flaky dns test
This commit is contained in:
cert-manager-prow[bot] 2024-04-22 14:13:45 +00:00 committed by GitHub
commit 2ca75ccc32
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -107,12 +107,15 @@ func TestReachabilityCustomDnsServers(t *testing.T) {
t.Fatalf("Failed to resolve %s: %v", u.Host, err)
}
dnsServerStarted := make(chan struct{})
dnsServerCalled := int32(0)
server := &dns.Server{Addr: "127.0.0.1:15353", Net: "udp"}
server := &dns.Server{Addr: "127.0.0.1:15353", Net: "udp", NotifyStartedFunc: func() { close(dnsServerStarted) }}
defer server.Shutdown()
dns.HandleFunc(".", func(w dns.ResponseWriter, r *dns.Msg) {
mux := &dns.ServeMux{}
server.Handler = mux
mux.HandleFunc(".", func(w dns.ResponseWriter, r *dns.Msg) {
m := new(dns.Msg)
m.SetReply(r)
@ -154,7 +157,15 @@ func TestReachabilityCustomDnsServers(t *testing.T) {
t.Errorf("failed to write DNS response: %v", err)
}
})
go server.ListenAndServe()
go func() {
if err := server.ListenAndServe(); err != nil {
t.Error(err)
}
}()
// Wait for server to have started
<-dnsServerStarted
key := "there is no key"