# HG changeset patch
# User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
# Date 1283466912 -7200
# Node ID 4589d48c9e1b8bfe7502839e8f7b4378d571d98d
# Parent  52fbb272a14743c761adc5af2749a4b07b513b7e
tests: add a Makefile for easily running the tests.

The Makefile tests one thing which isn't easily tested from within
Python; that the svnwrap modules aren't loaded for irrelevant
commands.

diff --git a/Makefile b/Makefile
new file mode 100644
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,33 @@
+# 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 \
+	  hg --config extensions.hgsubversion=./hgsubversion \
+	  version 2>&1 \
+	  | egrep '(^abort:|failed to import extension)'
+	LC_ALL=C HGSUBVERSION_BINDINGS=none \
+	  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