diff Makefile @ 2110:f1ffd093ef30 mercurial-3.9

mercurial-3.9: merge with hg-4.0 branch We merge with the code for the future evolve 6.0.0 code to check for compatibility. Only minor test output change (" -> ') have been noted.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Tue, 14 Mar 2017 14:47:20 -0700
parents 934d70e3be97
children b838c069bf4e
line wrap: on
line diff
--- a/Makefile	Tue Feb 28 17:04:58 2017 +0100
+++ b/Makefile	Tue Mar 14 14:47:20 2017 -0700
@@ -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