1
0
mirror of https://github.com/pi-hole/pi-hole synced 2024-12-22 14:58:08 +00:00

Merge pull request #3818 from pvogt09/feature/test_all_supported

Add test cases for all supported OS
This commit is contained in:
Adam Warner 2020-11-15 20:50:26 +00:00 committed by GitHub
commit bd982c6f94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 140 additions and 1 deletions

View File

@ -69,7 +69,19 @@ def args(request):
return '-t -d' return '-t -d'
@pytest.fixture(params=['debian', 'centos7', 'centos', 'fedora']) @pytest.fixture(params=[
'debian',
'debian_9',
'debian_10',
'centos7',
'centos',
'fedora',
'fedora_31',
'fedora_32',
'ubuntu_16',
'ubuntu_18',
'ubuntu_20'
])
def tag(request): def tag(request):
''' '''
consumed by image to make the test matrix consumed by image to make the test matrix

16
test/debian_10.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM buildpack-deps:buster-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

16
test/debian_9.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM buildpack-deps:stretch-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

16
test/fedora_31.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM fedora:31
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

16
test/fedora_32.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM fedora:32
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

View File

@ -9,9 +9,16 @@ run_local = testinfra.get_backend(
@pytest.mark.parametrize("image,tag", [ @pytest.mark.parametrize("image,tag", [
('test/debian.Dockerfile', 'pytest_pihole:debian'), ('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/centos7.Dockerfile', 'pytest_pihole:centos7'),
('test/centos.Dockerfile', 'pytest_pihole:centos'), ('test/centos.Dockerfile', 'pytest_pihole:centos'),
('test/fedora.Dockerfile', 'pytest_pihole:fedora'), ('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 # 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) # are executed in parallel. (not required when tests are executed serially)

16
test/ubuntu_16.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM buildpack-deps:xenial-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

16
test/ubuntu_18.Dockerfile Normal file
View File

@ -0,0 +1,16 @@
FROM buildpack-deps:bionic-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

17
test/ubuntu_20.Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM buildpack-deps:focal-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
ENV DEBIAN_FRONTEND=noninteractive
RUN true && \
chmod +x $SCRIPTDIR/*
ENV PH_TEST true
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

View File

@ -5,7 +5,14 @@ envlist = py37
whitelist_externals = docker whitelist_externals = docker
deps = -rrequirements.txt deps = -rrequirements.txt
commands = docker build -f test/debian.Dockerfile -t pytest_pihole:debian . commands = docker build -f test/debian.Dockerfile -t pytest_pihole:debian .
docker build -f test/debian_9.Dockerfile -t pytest_pihole:debian_9 .
docker build -f test/debian_10.Dockerfile -t pytest_pihole:debian_10 .
docker build -f test/centos7.Dockerfile -t pytest_pihole:centos7 . docker build -f test/centos7.Dockerfile -t pytest_pihole:centos7 .
docker build -f test/centos.Dockerfile -t pytest_pihole:centos . docker build -f test/centos.Dockerfile -t pytest_pihole:centos .
docker build -f test/fedora.Dockerfile -t pytest_pihole:fedora . docker build -f test/fedora.Dockerfile -t pytest_pihole:fedora .
docker build -f test/fedora_31.Dockerfile -t pytest_pihole:fedora_31 .
docker build -f test/fedora_32.Dockerfile -t pytest_pihole:fedora_32 .
docker build -f test/ubuntu_16.Dockerfile -t pytest_pihole:ubuntu_16 .
docker build -f test/ubuntu_18.Dockerfile -t pytest_pihole:ubuntu_18 .
docker build -f test/ubuntu_20.Dockerfile -t pytest_pihole:ubuntu_20 .
pytest {posargs:-vv -n auto} -m "not build_stage" ./test/ pytest {posargs:-vv -n auto} -m "not build_stage" ./test/