From 9d3a4de291f7c7bb06ec2a956f23c07a67fcc7f9 Mon Sep 17 00:00:00 2001 From: horus_arch Date: Tue, 31 Mar 2015 00:27:34 +0200 Subject: Changed make test to test only code which was recently changed. --- Makefile | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index ecf974f..f3ee5e1 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,8 @@ ifndef VAGRANT_DIR VAGRANT_DIR:=/vagrant endif +_TEST_FILES = $(wildcard *_test.go) +FILTER_TEST= grep -v "import" | grep -oE '^func Test.+\(' | sed 's/(//g' | sed s'/func //g' | tr '\n' '|' | sed 's/|$$//' # Start targets all: kill build run @@ -98,9 +100,23 @@ pack: gen_config echo "\n/$(APP).tar.gz is ready." || \ (echo "Run \"make build\" first." && exit 1) -test: import - FREEMAIL_SMTP_MAILER_MX=localhost FREEMAIL_DB_CREDENTIALS=":memory:" go test $(RACE) $(VERBOSE) $(EXTERNAL) - @(rm $(IMPORT_FILE) 2>/dev/null && echo "Removing import file..." ) || true +test: import _info_test _run_test + +_info_test: + @echo "Please note: We are testing only changes." + @echo "To run the complete test suite run 'make test_all'." + @echo "" + +_run_test: $(_TEST_FILES) + @echo Testing $? + @echo "" + @FREEMAIL_SMTP_MAILER_MX=localhost FREEMAIL_DB_CREDENTIALS=':memory:' \ + go test $(RACE) $(VERBOSE) $(EXTERNAL) \ + -run="$$(gofmt $? | $(FILTER_TEST))" && \ + touch $@ + +test_all: import + @FREEMAIL_SMTP_MAILER_MX=localhost FREEMAIL_DB_CREDENTIALS=':memory:' go test $(RACE) $(VERBOSE) $(EXTERNAL) benchmark: import DB_FREEMAIL_LOG=false FREEMAIL_DB_CREDENTIALS=":memory:" go test $(VERBOSE) -bench=".*" -- cgit v1.2.3