spotify / dh-virtualenv

Python virtualenvs in Debian packages

Home Page:http://dh-virtualenv.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provide Alternative way to run test to avoid Warning

ikus060 opened this issue · comments

Should plan to provide an alternative way to run the test. python setup.py test is deprecated.

WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.

For this reason we dh_virtualenv should provide an alternative way to call the test using nose2 or pytest

Thanks for reporting this!

An option that pops into my mind is to have an environmental value defined that contains the test command, as it is very hard to provide any default command.

Setuptools tests are not run by default at the moment either, so guess we just need to deprecate that option at some point

It can likely be a documentation issue, because tests should prolly be run in an override (i.e. by make), not dh-venv proper. It's not a well-defined target and has too much variation, so put it in the user's hand (with a solid example on how to).

It can likely be a documentation issue, because tests should prolly be run in an override (i.e. by make), not dh-venv proper. It's not a well-defined target and has too much variation, so put it in the user's hand (with a solid example on how to).

I kinda agree with this.
I end up adding an override after the packing process to run the test.
I'm running the test after the creation of the deb package to avoid polluting the package with test dependencies.

Here the rules files I've written:

#!/usr/bin/make -f

export DH_VIRTUALENV_INSTALL_ROOT=/opt/
export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_MINARCA_CLIENT=$(shell python3 setup.py --version)

DH_VENV_DIR=debian/minarca-client/opt/minarca

%:
	dh $@ --with python-virtualenv --builddirectory=build

override_dh_virtualenv:
	dh_virtualenv --install-suffix minarca --python python3 --extra-pip-arg "--quiet"
	# Smoke test
	$(DH_VENV_DIR)/bin/python $(DH_VENV_DIR)/bin/minarca --version

execute_after_dh_builddeb:
	# Run test after creation of debian packages to avoid poluting the binary with test dependencies.
	# Run test with pytest
	$(DH_VENV_DIR)/bin/python -m pip install pytest responses
	$(DH_VENV_DIR)/bin/python -m pytest