aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-01-01 08:11:13 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2014-01-01 08:11:13 -0800
commit2a160d6a159817dd9d08a84e77d102e328f9af4f (patch)
tree461b7c607367f243bb46996ec16ad7424e48d440 /tests/test_utils.py
parent62aefffb1396190930074bf04c91459d1536bd0e (diff)
parent522487e5a7dd3004747da85c9f6c53fc5dc4de06 (diff)
downloadcryptography-2a160d6a159817dd9d08a84e77d102e328f9af4f.tar.gz
cryptography-2a160d6a159817dd9d08a84e77d102e328f9af4f.tar.bz2
cryptography-2a160d6a159817dd9d08a84e77d102e328f9af4f.zip
Merge branch 'master' into validate-iv
Conflicts: tests/hazmat/backends/test_openssl.py tests/hazmat/primitives/test_block.py
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py52
1 files changed, 51 insertions, 1 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 5c58fd76..c640367e 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -14,14 +14,64 @@
import os
import textwrap
+import pretend
+
import pytest
from .utils import (
load_nist_vectors, load_vectors_from_file, load_cryptrec_vectors,
- load_openssl_vectors, load_hash_vectors,
+ load_openssl_vectors, load_hash_vectors, check_for_iface,
+ check_backend_support
)
+class FakeInterface(object):
+ pass
+
+
+def test_check_for_iface():
+ item = pretend.stub(keywords=["fake_name"], funcargs={"backend": True})
+ with pytest.raises(pytest.skip.Exception) as exc_info:
+ check_for_iface("fake_name", FakeInterface, item)
+ assert exc_info.value.args[0] == "True backend does not support fake_name"
+
+ item = pretend.stub(
+ keywords=["fake_name"],
+ funcargs={"backend": FakeInterface()}
+ )
+ check_for_iface("fake_name", FakeInterface, item)
+
+
+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})
+ with pytest.raises(pytest.skip.Exception) as exc_info:
+ check_backend_support(item)
+ assert exc_info.value.args[0] == "Nope"
+
+
+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)
+
+
def test_load_nist_vectors():
vector_data = textwrap.dedent("""
# CAVS 11.1