[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