aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-19 12:09:27 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-19 12:09:27 -0600
commitaed9e17b6080d540ba5b5aab5e3096581a4bbd13 (patch)
treef82b79122e6840d48417edf37efd26df51077588 /tests
parent2502ce599b39509ba9c05b6e553527e5ed5ac43c (diff)
downloadcryptography-aed9e17b6080d540ba5b5aab5e3096581a4bbd13.tar.gz
cryptography-aed9e17b6080d540ba5b5aab5e3096581a4bbd13.tar.bz2
cryptography-aed9e17b6080d540ba5b5aab5e3096581a4bbd13.zip
revert fixture decorator for now, switch to append. no more globals
Diffstat (limited to 'tests')
-rw-r--r--tests/conftest.py14
-rw-r--r--tests/test_utils.py16
-rw-r--r--tests/utils.py12
3 files changed, 17 insertions, 25 deletions
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)