[Reproducible-commits] [reprotest] 03/03: Fix test parametrization so inappropriate variation/virtualization combinations don't run
Ceridwen
ceridwen-guest at moszumanska.debian.org
Sat Aug 20 15:57:57 UTC 2016
This is an automated email from the git hooks/post-receive script.
ceridwen-guest pushed a commit to branch variations
in repository reprotest.
commit 030d3119b167006bb723233b5643ac57722dd61f
Author: Ceridwen <ceridwenv at gmail.com>
Date: Sat Aug 20 11:57:46 2016 -0400
Fix test parametrization so inappropriate variation/virtualization combinations don't run
---
tests/mock_build.py | 2 +-
tests/tests.py | 16 ++++++++++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/tests/mock_build.py b/tests/mock_build.py
index 7514a0d..d6c8714 100755
--- a/tests/mock_build.py
+++ b/tests/mock_build.py
@@ -26,7 +26,7 @@ if __name__ == '__main__':
if 'build_path' in variations:
output.append(os.getcwd().encode('ascii'))
if 'captures_environment' in variations:
- output.append(str(os.environ).encode('ascii'))
+ output.append(str(sorted(os.environ.items())).encode('ascii'))
if 'domain' in variations:
output.append(subprocess.check_output(['domainname']))
# Like the above test, this test can theoretically fail by
diff --git a/tests/tests.py b/tests/tests.py
index 1f871cf..a9e8e84 100755
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -17,7 +17,9 @@ def check_return_code(command, virtual_server, code):
except SystemExit as system_exit:
assert(system_exit.args[0] == code)
- at pytest.fixture(scope='module', params=['null' , 'qemu', 'schroot'])
+VIRTUALIZATION_TYPES = ('null' , 'qemu', 'schroot')
+
+ at pytest.fixture(scope='module', params=VIRTUALIZATION_TYPES)
def virtual_server(request):
if request.param == 'null':
return [request.param]
@@ -33,7 +35,17 @@ def test_simple_builds(virtual_server):
check_return_code('python3 mock_failure.py', virtual_server, 2)
check_return_code('python3 mock_build.py irreproducible', virtual_server, 1)
- at pytest.mark.parametrize('variation', reprotest.VARIATIONS)
+# This generates only the relevant tests for virtualization-variation
+# combinations by excluding all the ones that will dispatch to the
+# identity.
+VARIATIONS = tuple(
+ (virtualization_type, variation) for privileges, virtualization_type in
+ zip(('user', 'root', 'root'), VIRTUALIZATION_TYPES)
+ for variation in reprotest.VARIATIONS if
+ reprotest.VARIATIONS_DISPATCH[(variation, 1, privileges, virtualization_type)]
+ is not reprotest.identity)
+
+ at pytest.mark.parametrize(('virtual_server', 'variation'), VARIATIONS, indirect=('virtual_server',))
def test_variations(virtual_server, variation):
check_return_code('python3 mock_build.py ' + variation, virtual_server, 1)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/reprotest.git
More information about the Reproducible-commits
mailing list