aboutsummaryrefslogtreecommitdiff
path: root/core/dnsserver/server_test.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-10-24 10:16:03 +0100
committerGravatar GitHub <noreply@github.com> 2017-10-24 10:16:03 +0100
commitfcd0342e42a8be5a1cfe41304f0a8099b1bc0e06 (patch)
tree5fa74c98e7a4c729cd8597f477c14a41ca7503cc /core/dnsserver/server_test.go
parent5f813bcc216642021ae50b07a8aead2e73e9d059 (diff)
downloadcoredns-fcd0342e42a8be5a1cfe41304f0a8099b1bc0e06.tar.gz
coredns-fcd0342e42a8be5a1cfe41304f0a8099b1bc0e06.tar.zst
coredns-fcd0342e42a8be5a1cfe41304f0a8099b1bc0e06.zip
CIDR query routing (#1159)
* core: allow all CIDR ranges in zone specifications Allow (e.g.) a v4 reverse on a /17. If a zone is specified in such a way a FilterFunc is set in the config. This filter is checked against incoming queries. For all other queries this adds a 'x != nil' check which will not impact performace too much. Benchmark function is added as well to check for this as wel. Add multiple tests in tests/server_reverse_test.go. Benchmark shows in the non-reverse case this hardly impact the speed: ~~~ classless: pkg: github.com/coredns/coredns/core/dnsserver BenchmarkCoreServeDNS-4 1000000 1431 ns/op 16 B/op 1 allocs/op pkg: github.com/coredns/coredns/core/dnsserver BenchmarkCoreServeDNS-4 1000000 1429 ns/op 16 B/op 1 allocs/op master: pkg: github.com/coredns/coredns/core/dnsserver BenchmarkCoreServeDNS-4 1000000 1412 ns/op 16 B/op 1 allocs/op pkg: github.com/coredns/coredns/core/dnsserver BenchmarkCoreServeDNS-4 1000000 1429 ns/op 16 B/op 1 allocs/op ~~~ * README.md updates
Diffstat (limited to 'core/dnsserver/server_test.go')
-rw-r--r--core/dnsserver/server_test.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/core/dnsserver/server_test.go b/core/dnsserver/server_test.go
index 16235fd7c..75f5b98f7 100644
--- a/core/dnsserver/server_test.go
+++ b/core/dnsserver/server_test.go
@@ -18,7 +18,7 @@ func (tp testPlugin) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.
func (tp testPlugin) Name() string { return "testplugin" }
-func testConfig(transport string) *Config {
+func testConfig(transport string, p plugin.Handler) *Config {
c := &Config{
Zone: "example.com.",
Transport: transport,
@@ -27,31 +27,31 @@ func testConfig(transport string) *Config {
Debug: false,
}
- c.AddPlugin(func(next plugin.Handler) plugin.Handler { return testPlugin{} })
+ c.AddPlugin(func(next plugin.Handler) plugin.Handler { return p })
return c
}
func TestNewServer(t *testing.T) {
- _, err := NewServer("127.0.0.1:53", []*Config{testConfig("dns")})
+ _, err := NewServer("127.0.0.1:53", []*Config{testConfig("dns", testPlugin{})})
if err != nil {
- t.Errorf("Expected no error for NewServer, got %s.", err)
+ t.Errorf("Expected no error for NewServer, got %s", err)
}
- _, err = NewServergRPC("127.0.0.1:53", []*Config{testConfig("grpc")})
+ _, err = NewServergRPC("127.0.0.1:53", []*Config{testConfig("grpc", testPlugin{})})
if err != nil {
- t.Errorf("Expected no error for NewServergRPC, got %s.", err)
+ t.Errorf("Expected no error for NewServergRPC, got %s", err)
}
- _, err = NewServerTLS("127.0.0.1:53", []*Config{testConfig("tls")})
+ _, err = NewServerTLS("127.0.0.1:53", []*Config{testConfig("tls", testPlugin{})})
if err != nil {
- t.Errorf("Expected no error for NewServerTLS, got %s.", err)
+ t.Errorf("Expected no error for NewServerTLS, got %s", err)
}
}
func BenchmarkCoreServeDNS(b *testing.B) {
- s, err := NewServer("127.0.0.1:53", []*Config{testConfig("dns")})
+ s, err := NewServer("127.0.0.1:53", []*Config{testConfig("dns", testPlugin{})})
if err != nil {
- b.Errorf("Expected no error for NewServer, got %s.", err)
+ b.Errorf("Expected no error for NewServer, got %s", err)
}
ctx := context.TODO()