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
Adam Warner 2a82e1fec1
Nothing to see here. I just forgot a page.
4 years ago
..
README.md Assorted typo fixes. (#3126) 4 years ago
__init__.py setupVar tests passing for debian & centos 8 years ago
centos_7.Dockerfile -remove duplicate OS dockerfiles 4 years ago
centos_8.Dockerfile -remove duplicate OS dockerfiles 4 years ago
conftest.py -remove duplicate OS dockerfiles 4 years ago
debian_9.Dockerfile add docker containers for debian 9 and 10, ubuntu 16 and 18, fedora 28 and 29 4 years ago
debian_10.Dockerfile add docker containers for debian 9 and 10, ubuntu 16 and 18, fedora 28 and 29 4 years ago
fedora_31.Dockerfile update images to versions supported by pi-hole 5 4 years ago
fedora_32.Dockerfile update images to versions supported by pi-hole 5 4 years ago
test_000_build_containers.py Nothing to see here. I just forgot a page. 4 years ago
test_automated_install.py Revert "add test case for installation of dependencies for installer, core and web" 4 years ago
test_centos_fedora_support.py -remove duplicate OS dockerfiles 4 years ago
test_shellcheck.py use py3 instead py2 (#3153) 4 years ago
ubuntu_16.Dockerfile add docker containers for debian 9 and 10, ubuntu 16 and 18, fedora 28 and 29 4 years ago
ubuntu_18.Dockerfile add docker containers for debian 9 and 10, ubuntu 16 and 18, fedora 28 and 29 4 years ago
ubuntu_20.Dockerfile Update test/ubuntu_20.Dockerfile 4 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 :)