aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-04-15 20:22:37 +0100
committerGravatar Miek Gieben <miek@miek.nl> 2016-04-15 20:22:37 +0100
commit95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764 (patch)
tree24fd5a77e675c2e1d67089bd3de33a3de9c19376
parenta4bf01e1ee531da72efe47eeba1d17e0262d0fbb (diff)
downloadcoredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.tar.gz
coredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.tar.zst
coredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.zip
Dont crash on tests with etcd running
-rw-r--r--middleware/etcd/handler.go3
-rw-r--r--middleware/etcd/stub_test.go4
2 files changed, 7 insertions, 0 deletions
diff --git a/middleware/etcd/handler.go b/middleware/etcd/handler.go
index 8e15c1b1a..38e1b51cd 100644
--- a/middleware/etcd/handler.go
+++ b/middleware/etcd/handler.go
@@ -30,6 +30,9 @@ func (e Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i
zone := middleware.Zones(e.Zones).Matches(state.Name())
if zone == "" {
+ if e.Next == nil {
+ return dns.RcodeServerFailure, nil
+ }
return e.Next.ServeDNS(ctx, w, r)
}
diff --git a/middleware/etcd/stub_test.go b/middleware/etcd/stub_test.go
index d1eee5b61..ed3c49a29 100644
--- a/middleware/etcd/stub_test.go
+++ b/middleware/etcd/stub_test.go
@@ -32,6 +32,10 @@ func TestStubLookup(t *testing.T) {
continue
}
resp := rec.Msg()
+ if resp == nil {
+ // etcd not running?
+ continue
+ }
sort.Sort(test.RRSet(resp.Answer))
sort.Sort(test.RRSet(resp.Ns))