GPL compatability, fully automatic sharness build and clean

This commit is contained in:
Wyatt 2017-04-27 20:20:29 -07:00 committed by Wyatt
parent 14a047c2f3
commit 1a966aee53
12 changed files with 13 additions and 69 deletions

View File

@ -12,7 +12,8 @@ bin_env=$(shell go env GOHOSTOS)-$(shell go env GOHOSTARCH)
export PATH := $(deptools):$(PATH)
all: service ctl
clean: rwundo
clean: rwundo
$(MAKE) clean_sharness
$(MAKE) -C ipfs-cluster-service clean
$(MAKE) -C ipfs-cluster-ctl clean
install: deps
@ -58,12 +59,15 @@ deps: gx
test: deps
go test -tags silent -v ./...
test_sharness: sharness_deps
@sh test/sharness/run-sharness-tests.sh
@rm -rf test/sharness/trash\ directory*
@sh sharness/run-sharness-tests.sh
sharness_deps: deps
@./test/sharness/lib/install-sharness.sh
@rm -rf test/sharness/test-results
sharness_deps: clean_sharness
@./sharness/lib/install-sharness.sh
clean_sharness:
@rm -rf ./sharness/test-results
@rm -rf ./sharness/lib/sharness
@rm -rf sharness/trash\ directory*
rw: gx
$(gx-go_bin) rewrite

View File

@ -9,7 +9,7 @@
version=5eee9b51b5621cec95a64018f0cc779963b230d2
urlprefix=https://github.com/mlafeldt/sharness.git
if test ! -n "$clonedir" ; then
clonedir=lib
clonedir=sharness/lib
fi
sharnessdir=sharness

View File

@ -11,7 +11,7 @@ do
done
# Aggregate Results
echo "We are aggregating"
echo "Aggregating..."
for f in test-results/*.counts; do
echo "$f";
done | bash aggregate-results.sh
done | bash lib/sharness/aggregate-results.sh

View File

@ -1,60 +0,0 @@
# Run tests
#
# Copyright (c) 2011-2012 Mathias Lafeldt
# Copyright (c) 2005-2012 Git project
# Copyright (c) 2005-2012 Junio C Hamano
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/ .
SHELL_PATH ?= $(SHELL)
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
RM ?= rm -f
PROVE ?= prove
AGGREGATE_SCRIPT ?= aggregate-results.sh
DEFAULT_TEST_TARGET ?= test
T = $(sort $(wildcard *.t))
all: $(DEFAULT_TEST_TARGET)
test: pre-clean
$(MAKE) aggregate-results-and-cleanup
prove: pre-clean
@echo "*** prove ***"; $(PROVE) --exec '$(SHELL_PATH_SQ)' $(PROVE_OPTS) $(T) :: $(TEST_OPTS)
$(MAKE) clean-except-prove-cache
$(T):
@echo "*** $@ ***"; '$(SHELL_PATH_SQ)' $@ $(TEST_OPTS)
pre-clean:
$(RM) -r test-results
clean-except-prove-cache:
$(RM) -r 'trash directory'.* test-results
clean: clean-except-prove-cache
$(RM) .prove
aggregate-results-and-cleanup: $(T)
$(MAKE) aggregate-results
$(MAKE) clean
aggregate-results:
for f in test-results/*.counts; do \
echo "$$f"; \
done | '$(SHELL_PATH_SQ)' '$(AGGREGATE_SCRIPT)'
.PHONY: all test prove $(T) pre-clean clean
.PHONY: aggregate-results-and-cleanup aggregate-results