diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2017-06-03 22:02:50 -0400 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2017-06-03 16:02:50 -1000 |
commit | e6055fbfb2b1b7b00b361615d4c665c6e9fc0b6d (patch) | |
tree | 93b770175d67f99e2344b73234c8a7484835f3bf /tests | |
parent | 133a17971af3c40ff935be5c74ba2542cebbea30 (diff) | |
download | cryptography-e6055fbfb2b1b7b00b361615d4c665c6e9fc0b6d.tar.gz cryptography-e6055fbfb2b1b7b00b361615d4c665c6e9fc0b6d.tar.bz2 cryptography-e6055fbfb2b1b7b00b361615d4c665c6e9fc0b6d.zip |
call check_backend_support directly from backend fixture (#3666)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/conftest.py | 24 | ||||
-rw-r--r-- | tests/test_utils.py | 20 | ||||
-rw-r--r-- | tests/utils.py | 11 |
3 files changed, 15 insertions, 40 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index c21f4dcc..c5efbd36 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,24 +21,14 @@ def backend(request): mark.kwargs["interface"] for mark in request.node.get_marker("requires_backend_interface") ] - if all( + if not all( isinstance(openssl_backend, iface) for iface in required_interfaces ): - return openssl_backend - pytest.skip( - "OpenSSL doesn't implement required interfaces: {0}".format( - required_interfaces + pytest.skip( + "OpenSSL doesn't implement required interfaces: {0}".format( + required_interfaces + ) ) - ) - -@pytest.mark.trylast -def pytest_runtest_setup(item): - check_backend_support(item) - - -def pytest_addoption(parser): - parser.addoption( - "--backend", action="store", metavar="NAME", - help="Only run tests matching the backend NAME." - ) + check_backend_support(openssl_backend, request) + return openssl_backend diff --git a/tests/test_utils.py b/tests/test_utils.py index 2b5a2af3..a1fa80b8 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -32,10 +32,9 @@ def test_check_backend_support_skip(): supported = pretend.stub( kwargs={"only_if": lambda backend: False, "skip_message": "Nope"} ) - item = pretend.stub(keywords={"supported": [supported]}, - funcargs={"backend": True}) + item = pretend.stub(keywords={"supported": [supported]}) with pytest.raises(pytest.skip.Exception) as exc_info: - check_backend_support(item) + check_backend_support(True, item) assert exc_info.value.args[0] == "Nope (True)" @@ -43,19 +42,8 @@ def test_check_backend_support_no_skip(): supported = pretend.stub( kwargs={"only_if": lambda backend: True, "skip_message": "Nope"} ) - item = pretend.stub(keywords={"supported": [supported]}, - funcargs={"backend": True}) - assert check_backend_support(item) is None - - -def test_check_backend_support_no_backend(): - supported = pretend.stub( - kwargs={"only_if": "notalambda", "skip_message": "Nope"} - ) - item = pretend.stub(keywords={"supported": supported}, - funcargs={}) - with pytest.raises(ValueError): - check_backend_support(item) + item = pretend.stub(keywords={"supported": [supported]}) + assert check_backend_support(None, item) is None def test_load_nist_vectors(): diff --git a/tests/utils.py b/tests/utils.py index 136b0607..455b6bfe 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -25,17 +25,14 @@ KeyedHashVector = collections.namedtuple( ) -def check_backend_support(item): +def check_backend_support(backend, item): supported = item.keywords.get("supported") - if supported and "backend" in item.funcargs: + if supported: for mark in supported: - if not mark.kwargs["only_if"](item.funcargs["backend"]): + if not mark.kwargs["only_if"](backend): pytest.skip("{0} ({1})".format( - mark.kwargs["skip_message"], item.funcargs["backend"] + mark.kwargs["skip_message"], backend )) - elif supported: - raise ValueError("This mark is only available on methods that take a " - "backend") @contextmanager |