1
0
mirror of https://github.com/pi-hole/pi-hole synced 2024-12-22 23:08:07 +00:00
pi-hole/test
Adam Warner 545b6605bc
4.3.3 (#3154)
* Backport ee7090b8fc to v4 to prevent failures in FTL download
* update tests to reflect changes to FTL download URL
* backport `tbd` fix

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-02-23 21:34:12 +00:00
..
__init__.py setupVar tests passing for debian & centos 2016-10-10 23:14:39 -05:00
centos.Dockerfile move PH_TRUE to Dockerfiles to DRY 2016-11-03 22:34:04 -05:00
conftest.py add Fedora container to test matrix 2018-07-05 18:12:39 -06:00
debian.Dockerfile Debian buildpack image for docker (Need curl for testing, using scm version to add curl and git.) 2017-02-20 09:24:47 -08:00
fedora.Dockerfile Merge conflict Fedora Dockerfile for tests pinned to 30 2019-08-20 11:40:18 -07:00
README.md Update README.md 2018-07-12 10:22:50 -05:00
test_000_build_containers.py ensure images are build prior to running tests 2018-07-07 18:43:11 -06:00
test_automated_install.py 4.3.3 (#3154) 2020-02-23 21:34:12 +00:00
test_centos_fedora_support.py update centos version check test 2018-08-29 22:16:11 -06:00
test_shellcheck.py python linting: 'pytest' imported but unused (F401) 2018-07-03 00:30:00 -06: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 dependancies, installing dependancies, 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 dependancies 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 :)