pi-hole/test
MichaIng 5c090d25e1
Fix ldd sh mock in tests
Since "command" is a shell internal, it cannot be mocked, done via /usr/local/bin override. Since Debian containers ship without /bin => /usr/bin symlink, while all other containers do, the "ldd" mock needs to be applied for both paths, then.

Signed-off-by: MichaIng <micha@dietpi.com>
2022-10-12 12:49:50 +02:00
..
__init__.py setupVar tests passing for debian & centos 2016-10-10 23:14:39 -05:00
_centos_8.Dockerfile Add initscripts to CentOS8 dockerfile 2022-10-08 22:08:39 +02:00
_debian_10.Dockerfile Rename also in docker files 2022-07-06 22:58:14 +02:00
_debian_11.Dockerfile Rename also in docker files 2022-07-06 22:58:14 +02:00
_fedora_35.Dockerfile Add initscripts to Fedora 35 and 36 dockerfile 2022-10-01 10:03:13 +02:00
_fedora_36.Dockerfile Add initscripts to Fedora 35 and 36 dockerfile 2022-10-01 10:03:13 +02:00
_ubuntu_20.Dockerfile Rename also in docker files 2022-07-06 22:58:14 +02:00
_ubuntu_22.Dockerfile Rename also in docker files 2022-07-06 22:58:14 +02:00
conftest.py Format all /test files with black 2022-09-19 14:50:35 +02:00
README.md unit test for umask problems in #3177 and #2730 (#3191) 2021-11-11 16:44:57 +00:00
requirements.txt Update test requirements 2022-09-19 14:50:35 +02:00
setup.py Format all /test files with black 2022-09-19 14:50:35 +02:00
test_any_automated_install.py Fix ldd sh mock in tests 2022-10-12 12:49:50 +02:00
test_any_utils.py Return default port if non-numeric characters are set in pihole-FTL.conf for FTLPORT. FTL does the same in such case and provide the API on 4711 2022-09-26 23:40:09 +02:00
test_centos_common_support.py Format all /test files with black 2022-09-19 14:50:35 +02:00
test_centos_fedora_common_support.py Format all /test files with black 2022-09-19 14:50:35 +02:00
test_fedora_support.py Format all /test files with black 2022-09-19 14:50:35 +02:00
tox.centos_8.ini Update test requirements 2022-09-19 14:50:35 +02:00
tox.debian_10.ini Update test requirements 2022-09-19 14:50:35 +02:00
tox.debian_11.ini Update test requirements 2022-09-19 14:50:35 +02:00
tox.fedora_35.ini Add Fedora 35 and 36 to the test suite 2022-09-29 19:13:23 +02:00
tox.fedora_36.ini Add Fedora 35 and 36 to the test suite 2022-09-29 19:13:23 +02:00
tox.ubuntu_20.ini Update test requirements 2022-09-19 14:50:35 +02:00
tox.ubuntu_22.ini Update test requirements 2022-09-19 14:50:35 +02:00

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