#!/usr/bin/make -f
# -*- makefile -*-

export PYBUILD_NAME=pytest

export PYBUILD_BEFORE_TEST=mkdir -p {dir}/debian/tmp/test-working-directory
export PYBUILD_AFTER_TEST=rm -rf {dir}/debian/tmp/test-working-directory
export PYBUILD_TEST_ARGS=\
	cd {dir}/debian/tmp/test-working-directory && \
	{interpreter} -m pytest --lsof -rfsxX \
		--ignore={dir}/testing/freeze \
		--ignore={dir}/testing/test_entry_points.py \
		--ignore={dir}/testing/test_pdb.py \
		--ignore={dir}/testing/test_mark.py \
		--ignore={dir}/testing/test_terminal.py \
		-k 'not test_trial_pdb' \
		{dir}/testing
# Disable more tests in pypy, because we don't have pypy-mock
export PYBUILD_TEST_ARGS_pypy=\
	cd {dir}/debian/tmp/test-working-directory && \
	{interpreter} -m pytest --lsof -rfsxX \
		--ignore={dir}/testing/freeze \
		--ignore={dir}/testing/test_entry_points.py \
		--ignore={dir}/testing/test_pdb.py \
		--ignore={dir}/testing/test_mark.py \
		--ignore={dir}/testing/test_terminal.py \
		--ignore={dir}/testing/code/test_code.py \
		-k 'not test_trial_pdb and not test_fixture_mock_integration' \
		{dir}/testing

%:
	dh $@ --with python2,python3,pypy,sphinxdoc --buildsystem=pybuild

override_dh_auto_build:
	dh_auto_build
	PYTHONPATH=$(CURDIR)/src \
		SPHINXBUILD=/usr/share/sphinx/scripts/python3/sphinx-build \
		$(MAKE) -C doc/en man html
	sed 's/PYTEST/PYTEST-3/g' doc/en/_build/man/pytest.1 > debian/pytest-3.1
	sed 's/PYTEST/PYTEST-PYPY/g' doc/en/_build/man/pytest.1 > debian/pytest-pypy.1

# 2015-12-16 barry@debian.org: Because pytest does not clean up after itself,
# use a custom temporary directory (which is easier to clean up manually,
# e.g. in an sbuild).
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	dh_auto_test -- --system=custom
endif

override_dh_auto_install:
	dh_auto_install
	rm debian/python-pytest/usr/bin/py.test
	rm debian/python3-pytest/usr/bin/py.test
	rm debian/pypy-pytest/usr/bin/py.test
	mv debian/python3-pytest/usr/bin/pytest \
		debian/python3-pytest/usr/bin/pytest-3
	mv debian/pypy-pytest/usr/bin/pytest \
		debian/pypy-pytest/usr/bin/pytest-pypy

override_dh_auto_clean:
	rm -rf doc/en/_build
	dh_auto_clean
