You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pi-hole/test
Christian König 8e6bb15283
Remove mocked systemctl completely
1 year ago
..
README.md unit test for umask problems in #3177 and #2730 (#3191) 3 years ago
__init__.py setupVar tests passing for debian & centos 8 years ago
_centos_8.Dockerfile Run systemd in tests 1 year ago
_centos_9.Dockerfile Run systemd in tests 1 year ago
_debian_10.Dockerfile Run systemd in tests 1 year ago
_debian_11.Dockerfile Run systemd in tests 1 year ago
_fedora_35.Dockerfile Run systemd in tests 1 year ago
_fedora_36.Dockerfile Run systemd in tests 1 year ago
_ubuntu_20.Dockerfile Run systemd in tests 1 year ago
_ubuntu_22.Dockerfile Run systemd in tests 1 year ago
conftest.py Tweak tests to allow systemd as init system 1 year ago
requirements.txt Update test requirements 2 years ago
setup.py Format all /test files with black 2 years ago
test_any_automated_install.py Remove mocked systemctl completely 1 year ago
test_any_utils.py Tweak tests to allow systemd as init system 1 year ago
test_centos_common_support.py Format all /test files with black 2 years ago
test_centos_fedora_common_support.py Format all /test files with black 2 years ago
test_fedora_support.py Format all /test files with black 2 years ago
tox.centos_8.ini Update test requirements 2 years ago
tox.centos_9.ini Adding CentOS Stream 9 tests 2 years ago
tox.debian_10.ini Update test requirements 2 years ago
tox.debian_11.ini Update test requirements 2 years ago
tox.fedora_35.ini Add Fedora 35 and 36 to the test suite 2 years ago
tox.fedora_36.ini Add Fedora 35 and 36 to the test suite 2 years ago
tox.ubuntu_20.ini Update test requirements 2 years ago
tox.ubuntu_22.ini Update test requirements 2 years ago

README.md

Recommended way to run tests

Make sure you have Docker and Python w/pip package manager.

From command line all you need to do is:

  • pip install tox
  • tox

Tox handles setting up a virtual environment for python dependencies, installing dependencies, building the docker images used by tests, and finally running tests. It's an easy way to have travis-ci like build behavior locally.

Alternative py.test method of running tests

You're responsible for setting up your virtual env and dependencies in this situation.

py.test -vv -n auto -m "build_stage"
py.test -vv -n auto -m "not build_stage"

The build_stage tests have to run first to create the docker images, followed by the actual tests which utilize said images. Unless you're changing your dockerfiles you shouldn't have to run the build_stage every time - but it's a good idea to rebuild at least once a day in case the base Docker images or packages change.

How do I debug python?

Highly recommended: Setup PyCharm on a Docker enabled machine. Having a python debugger like PyCharm changes your life if you've never used it :)