1
0
mirror of https://github.com/pi-hole/pi-hole synced 2024-10-18 05:49:10 +00:00
pi-hole/test
2024-06-08 19:28:07 +02:00
..
__init__.py
_centos_9.Dockerfile
_debian_10.Dockerfile
_debian_11.Dockerfile
_debian_12.Dockerfile
_fedora_39.Dockerfile Drop Fedora 36 and add Fedora 39 to the test suite 2023-11-07 22:24:34 +01:00
_fedora_40.Dockerfile Add Ubuntu 24.04 and Fedora 40, remove Fedora 38 2024-05-11 15:57:21 +01:00
_ubuntu_20.Dockerfile
_ubuntu_22.Dockerfile
_ubuntu_23.Dockerfile
_ubuntu_24.Dockerfile Add Ubuntu 24.04 and Fedora 40, remove Fedora 38 2024-05-11 15:57:21 +01:00
conftest.py
README.md
requirements.txt Bump pytest from 8.2.1 to 8.2.2 in /test 2024-06-08 10:57:29 +00:00
setup.py Format all /test files with black 2022-09-19 14:50:35 +02:00
test_any_automated_install.py Reduce code duplication in FTL arch detect tests. 2024-01-08 18:26:59 +00:00
test_any_utils.py
test_centos_fedora_common_support.py
tox.centos_9.ini
tox.debian_10.ini
tox.debian_11.ini
tox.debian_12.ini
tox.fedora_39.ini Drop Fedora 36 and add Fedora 39 to the test suite 2023-11-07 22:24:34 +01:00
tox.fedora_40.ini Add Ubuntu 24.04 and Fedora 40, remove Fedora 38 2024-05-11 15:57:21 +01:00
tox.ubuntu_20.ini Use buildx to create docker test images 2023-02-16 21:43:30 +01:00
tox.ubuntu_22.ini
tox.ubuntu_23.ini
tox.ubuntu_24.ini Add Ubuntu 24.04 and Fedora 40, remove Fedora 38 2024-05-11 15:57:21 +01: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 :)