From d98837c8288de8b5c8a86a97f1812973d8f42182 Mon Sep 17 00:00:00 2001 From: diginc Date: Thu, 5 Oct 2017 11:59:19 -0500 Subject: [PATCH] expand most tests to run for all os arch combos --- test/conftest.py | 12 ++++++++++-- test/test_bash_functions.py | 22 +++++++++++----------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index 225bee5..b2f336b 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -56,10 +56,18 @@ def DockerPersist(request, persist_args, persist_image, persist_cmd, Dig): def args(request): return '-e ServerIP="127.0.0.1" -e ServerIPv6="::1"' -@pytest.fixture(params=['alpine_amd64', 'debian_amd64']) -def tag(request): +@pytest.fixture(params=['amd64', 'armhf', 'aarch64']) +def arch(request): return request.param +@pytest.fixture(params=['debian', 'alpine']) +def os(request): + return request.param + +@pytest.fixture() +def tag(request, os, arch): + return '{}_{}'.format(os, arch) + @pytest.fixture def webserver(request, tag): return WEB_SERVER[tag] diff --git a/test/test_bash_functions.py b/test/test_bash_functions.py index 56fab81..344beb1 100644 --- a/test/test_bash_functions.py +++ b/test/test_bash_functions.py @@ -9,17 +9,17 @@ DEFAULTARGS = '-e ServerIP="127.0.0.1" ' (DEFAULTARGS + '-e "IPv6=False"', False, 'IPv4'), (DEFAULTARGS + '-e "IPv6=foobar"', False, 'IPv4'), ]) -def test_IPv6_not_True_removes_ipv6(Docker, tag, args, expected_ipv6, expected_stdout): +def test_IPv6_not_True_removes_ipv6(Docker, os, args, expected_ipv6, expected_stdout): ''' When a user overrides IPv6=True they only get IPv4 listening webservers ''' - IPV6_LINE = { 'alpine_amd64': 'listen [::]:80 default_server', - 'debian_amd64': 'use-ipv6.pl' } - WEB_CONFIG = { 'alpine_amd64': '/etc/nginx/nginx.conf', - 'debian_amd64': '/etc/lighttpd/lighttpd.conf' } + IPV6_LINE = { 'alpine': 'listen [::]:80 default_server', + 'debian': 'use-ipv6.pl' } + WEB_CONFIG = { 'alpine': '/etc/nginx/nginx.conf', + 'debian': '/etc/lighttpd/lighttpd.conf' } function = Docker.run('. /bash_functions.sh ; setup_ipv4_ipv6') assert "Using {}".format(expected_stdout) in function.stdout - config = Docker.run('cat {}'.format( WEB_CONFIG[tag])).stdout - assert (IPV6_LINE[tag] in config) == expected_ipv6 + config = Docker.run('cat {}'.format( WEB_CONFIG[os])).stdout + assert (IPV6_LINE[os] in config) == expected_ipv6 @pytest.mark.parametrize('args, expected_stdout, dns1, dns2', [ ('-e ServerIP="1.2.3.4"', 'default DNS', '8.8.8.8', '8.8.4.4' ), @@ -54,11 +54,11 @@ expected_debian_lines = [ '"ServerIP" => "127.0.0.1"', '"PHP_ERROR_LOG" => "/var/log/lighttpd/error.log"' ] -@pytest.mark.parametrize('tag,expected_lines,repeat_function', [ - ('debian_amd64', expected_debian_lines, 1), - ('debian_amd64', expected_debian_lines, 2) +@pytest.mark.parametrize('os,expected_lines,repeat_function', [ + ('debian', expected_debian_lines, 1), + ('debian', expected_debian_lines, 2) ]) -def test_debian_setup_php_env(Docker, tag, expected_lines, repeat_function): +def test_debian_setup_php_env(Docker, os, expected_lines, repeat_function): ''' confirm all expected output is there and nothing else ''' stdout = '' for i in range(repeat_function):