view Makefile @ 5962:b68789e8c535

tests: spell out hg commands for readability These are the abbreviations that are used just in a couple of places in the tests. `hg d` is in my opinion an abbreviation of core command that everyone should know, but I'd rather not use "unofficial" abbreviations in tests because it takes a second to mentally expand what the command is when you're reading it. In CLI when you type commands, it makes sense to abbreviate things to type less. But tests are read much more often than they are written, so I'd like to apply the same guidelines to them as to regular code: readability first. Apart from readability, it's also consistency, because these particular abbreviations are rare, and everywhere else the commands are spelled out.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 17 Jun 2021 11:08:01 +0300
parents a86c2682f608
children 7da0f8128d90
line wrap: on
line source

PYTHON ?= python3
VERSION = $(shell python setup.py --version)
TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
HGTESTS = $(HGROOT)/tests

.PHONY: help
help:
	@echo 'Commonly used make targets:'
	@echo '  deb-prepare        - prepare the build of a debian package'
	@echo '  install-home       - install with setup.py install --home=$$HOME ($(HOME))'
	@echo '  tests              - run all tests in the automatic test suite'

.PHONY: all
all: help

.PHONY: deb-prepare
deb-prepare:
	python setup.py sdist --dist-dir ..
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
	rm -rf ../mercurial-evolve_$(VERSION).orig
	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`

.PHONY: install-home
install-home:
	$(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force

.PHONY: doc
doc:
	$(MAKE) -C docs

.PHONY: _check_hgroot
_check_hgroot:
ifeq ($(HGROOT),)
	$(error HGROOT is not set to the root of the hg source tree)
endif

.PHONY: tests
tests: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)

test-%: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@