From 95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Fri, 15 Apr 2016 20:22:37 +0100 Subject: [PATCH] Dont crash on tests with etcd running --- middleware/etcd/handler.go | 3 +++ middleware/etcd/stub_test.go | 4 ++++ 2 files changed, 7 insertions(+) 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))