Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide Alternative way to run test to avoid Warning #339

Open
ikus060 opened this issue Sep 17, 2021 · 3 comments
Open

Provide Alternative way to run test to avoid Warning #339

ikus060 opened this issue Sep 17, 2021 · 3 comments

Comments

@ikus060
Copy link

ikus060 commented Sep 17, 2021

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

@nailor
Copy link
Collaborator

nailor commented Sep 18, 2021

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

@jhermann
Copy link
Contributor

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).

@ikus060
Copy link
Author

ikus060 commented Sep 22, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants