--- a/Makefile Tue Feb 28 17:22:21 2017 +0100
+++ b/Makefile Fri Mar 31 15:33:59 2017 +0200
@@ -1,5 +1,6 @@
VERSION=$(shell python setup.py --version)
+PYTHON=python
help:
@echo 'Commonly used make targets:'
@@ -15,3 +16,42 @@
mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`
+
+install-home:
+ $(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force
+
+# test targets
+TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
+
+HGTESTS=$(HGROOT)/tests
+
+help:
+ @echo 'Commonly used make targets:'
+ @echo ' tests - run all tests in the automatic test suite'
+ @echo ' all-version-tests - run all tests against many hg versions'
+ @echo ' tests-%s - run all tests in the specified hg version'
+
+all: help
+
+_check_hgroot:
+ ifeq ($(HGROOT),)
+ $(error HGROOT is not set to the root of the hg source tree)
+ endif
+
+tests: _check_hgroot
+ cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)
+
+# /!\ run outside of the compatibility branch output test will likely fails
+
+test-%: _check_hgroot
+ cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@
+
+tests-%: _check_hgroot
+ hg -R $(HGROOT) checkout $$(echo $@ | sed s/tests-//) && \
+ (cd $(HGROOT) ; $(MAKE) clean ) && \
+ cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)
+
+# build a script to extract declared version
+all-version-tests: tests-@
+
+.PHONY: tests all-version-tests