view Makefile @ 1049:608e7c8740af

tests: add a metaclass for testing obsolete mode We use a metaclass to both make the test code more concise, and more likely to cover all cases. Typically, someone adding a new fixes will also add a test, and put it in a class containing similar tests. Going forward, having that entire class automatically then duplicate its methods for relevant modes is a plus; a similar approach for stupid mode already found a few omissions.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Thu, 08 Aug 2013 09:25:24 +0200
parents 055f9254d790
children
line wrap: on
line source

# Makefile for testing hgsubversion

PYTHON=python

.PHONY: all check check-demandimport check-subvertpy check-swig

all:
	@echo "Use the following commands to build and install hgsubversion:"
	@echo
	@echo "$$ cd $(PWD)"
	@echo "$$ $(PYTHON) ./setup.py install"
	@echo
	@exit 1

check: check-demandimport check-subvertpy check-swig

check-demandimport:
	# verify that hgsubversion loads properly without bindings, but fails
	# when actually used
	! LC_ALL=C HGSUBVERSION_BINDINGS=none HGRCPATH=/dev/null \
	  hg --config extensions.hgsubversion=./hgsubversion \
	  version 2>&1 \
	  | egrep '(^abort:|failed to import extension)'
	LC_ALL=C HGSUBVERSION_BINDINGS=none HGRCPATH=/dev/null \
	  hg --config extensions.hgsubversion=./hgsubversion \
	  version --svn 2>&1 \
	  | egrep '(^abort:|failed to import extension)'

check-subvertpy:
	$(PYTHON) tests/run.py --all --bindings=subvertpy

check-swig:
	$(PYTHON) tests/run.py --all --bindings=swig