pi-hole/test/test_000_build_containers.py

32 lines
1.2 KiB
Python
Raw Normal View History

''' This file starts with 000 to make it run first '''
import pytest
import testinfra
run_local = testinfra.get_backend(
"local://"
).get_module("Command").run
@pytest.mark.parametrize("image,tag", [
('test/debian.Dockerfile', 'pytest_pihole:debian'),
('test/debian_9.Dockerfile', 'pytest_pihole:debian_9'),
('test/debian_10.Dockerfile', 'pytest_pihole:debian_10'),
('test/centos7.Dockerfile', 'pytest_pihole:centos7'),
('test/centos.Dockerfile', 'pytest_pihole:centos'),
('test/fedora.Dockerfile', 'pytest_pihole:fedora'),
('test/fedora_31.Dockerfile', 'pytest_pihole:fedora_31'),
('test/fedora_32.Dockerfile', 'pytest_pihole:fedora_32'),
('test/ubuntu_16.Dockerfile', 'pytest_pihole:ubuntu_16'),
('test/ubuntu_18.Dockerfile', 'pytest_pihole:ubuntu_18'),
('test/ubuntu_20.Dockerfile', 'pytest_pihole:ubuntu_20'),
])
# mark as 'build_stage' so we can ensure images are built first when tests
# are executed in parallel. (not required when tests are executed serially)
@pytest.mark.build_stage
def test_build_pihole_image(image, tag):
build_cmd = run_local('docker build -f {} -t {} .'.format(image, tag))
if build_cmd.rc != 0:
print(build_cmd.stdout)
print(build_cmd.stderr)
assert build_cmd.rc == 0