From aed9e17b6080d540ba5b5aab5e3096581a4bbd13 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sun, 19 Jan 2014 12:09:27 -0600 Subject: revert fixture decorator for now, switch to append. no more globals --- tests/conftest.py | 14 +++----------- tests/test_utils.py | 16 ++++++++-------- tests/utils.py | 12 ++++++------ 3 files changed, 17 insertions(+), 25 deletions(-) (limited to 'tests') diff --git a/tests/conftest.py b/tests/conftest.py index b9879f86..a9acb54a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -8,20 +8,12 @@ from cryptography.hazmat.backends.interfaces import ( from .utils import check_for_iface, check_backend_support, select_backends -# copy all backends so we can mutate it.This variable is used in generate -# tests to allow us to target a single backend without changing _ALL_BACKENDS -_SELECTED_BACKENDS = list(_ALL_BACKENDS) - - def pytest_generate_tests(metafunc): - global _SELECTED_BACKENDS names = metafunc.config.getoption("--backend") - _SELECTED_BACKENDS = select_backends(names, _SELECTED_BACKENDS) - + selected_backends = select_backends(names, _ALL_BACKENDS) -@pytest.fixture(params=_SELECTED_BACKENDS) -def backend(request): - return request.param + if "backend" in metafunc.fixturenames: + metafunc.parametrize("backend", selected_backends) @pytest.mark.trylast diff --git a/tests/test_utils.py b/tests/test_utils.py index a7da4906..f852f3ab 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -35,9 +35,9 @@ def test_select_one_backend(): b3 = pretend.stub(name="b3") backends = [b1, b2, b3] name = "b2" - select_backends(name, backends) - assert len(backends) == 1 - assert backends[0] == b2 + selected_backends = select_backends(name, backends) + assert len(selected_backends) == 1 + assert selected_backends[0] == b2 def test_select_no_backend(): @@ -56,8 +56,8 @@ def test_select_backends_none(): b3 = pretend.stub(name="b3") backends = [b1, b2, b3] name = None - select_backends(name, backends) - assert len(backends) == 3 + selected_backends = select_backends(name, backends) + assert len(selected_backends) == 3 def test_select_two_backends(): @@ -66,9 +66,9 @@ def test_select_two_backends(): b3 = pretend.stub(name="b3") backends = [b1, b2, b3] name = "b2 ,b1 " - select_backends(name, backends) - assert len(backends) == 2 - assert backends == [b1, b2] + selected_backends = select_backends(name, backends) + assert len(selected_backends) == 2 + assert selected_backends == [b1, b2] def test_check_for_iface(): diff --git a/tests/utils.py b/tests/utils.py index ee1675e8..a2432256 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -22,13 +22,13 @@ def select_backends(names, backend_list): split_names = [x.strip() for x in names.split(',')] # this must be duplicated and then removed to preserve the metadata # pytest associates. Appending backends to a new list doesn't seem to work - backends = list(backend_list) - for backend in backends: - if backend.name not in split_names: - backend_list.remove(backend) + selected_backends = [] + for backend in backend_list: + if backend.name in split_names: + selected_backends.append(backend) - if len(backend_list) > 0: - return backend_list + if len(selected_backends) > 0: + return selected_backends else: raise ValueError( "No backend selected. Tried to select: {0}".format(split_names) -- cgit v1.2.3