aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml7
-rw-r--r--Makefile29
2 files changed, 25 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml
index 39ea9e160..ef914d237 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,4 @@
sudo: required
-# Trusty distribution is much faster when sudo is required
dist: trusty
services:
@@ -14,11 +13,16 @@ go_import_path: github.com/coredns/coredns
git:
depth: 3
+branches:
+ only:
+ - master
+
env:
- TEST_TYPE=coverage ETCD_VERSION=3.3.8
- TEST_TYPE=integration ETCD_VERSION=3.3.8
- TEST_TYPE=core ETCD_VERSION=3.3.8
- TEST_TYPE=plugin ETCD_VERSION=3.3.8
+ - TEST_TYPE=benchmark ETCD_VERSION=3.3.8
# In the Travis VM-based build environment, IPv6 networking is not
# enabled by default. The sysctl operations below enable IPv6.
@@ -35,6 +39,7 @@ before_install:
before_script:
- docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION
+ - make godeps
script:
- make TEST_TYPE=$TEST_TYPE travis
diff --git a/Makefile b/Makefile
index 4ccb287b9..50287d5a6 100644
--- a/Makefile
+++ b/Makefile
@@ -17,14 +17,6 @@ coredns: $(CHECKS)
.PHONY: check
check: presubmit core/zplugin.go core/dnsserver/zdirectives.go godeps
-.PHONY: test
-test: check
- go test -race $(VERBOSE) ./test ./plugin/...
-
-.PHONY: testk8s
-testk8s: check
- go test -race $(VERBOSE) -tags=k8s -run 'TestKubernetes' ./test ./plugin/kubernetes/...
-
.PHONY: godeps
godeps:
@ # Not vendoring these, so external plugins compile, avoiding:
@@ -40,13 +32,15 @@ godeps:
(cd $(GOPATH)/src/github.com/mholt/caddy && git checkout -q v0.10.11)
(cd $(GOPATH)/src/github.com/miekg/dns && git checkout -q v1.0.8)
(cd $(GOPATH)/src/github.com/prometheus/client_golang && git checkout -q v0.8.0)
+ @ # for travis only, if this fails we don't care, but don't see benchmarks
+ go get -u golang.org/x/tools/cmd/benchcmp || true
.PHONY: travis
-travis: check
+travis:
ifeq ($(TEST_TYPE),core)
( cd request ; go test -v -tags 'etcd' -race ./... )
( cd core ; go test -v -tags 'etcd' -race ./... )
- ( cd coremain go test -v -tags 'etcd' -race ./... )
+ ( cd coremain ; go test -v -tags 'etcd' -race ./... )
endif
ifeq ($(TEST_TYPE),integration)
( cd test ; go test -v -tags 'etcd' -race ./... )
@@ -66,6 +60,21 @@ ifeq ($(TEST_TYPE),coverage)
fi; \
done
endif
+ifeq ($(TEST_TYPE),benchmark)
+ > new
+ ( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
+ ( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
+ ( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
+ ( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new
+ git checkout master
+ > old
+ ( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
+ ( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
+ ( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
+ ( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old
+ if command -v benchcmp; then benchcmp old new ; fi
+ git checkout -
+endif
core/zplugin.go core/dnsserver/zdirectives.go: plugin.cfg
go generate coredns.go