aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_hash_vectors.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/hazmat/primitives/test_hash_vectors.py')
-rw-r--r--tests/hazmat/primitives/test_hash_vectors.py62
1 files changed, 42 insertions, 20 deletions
diff --git a/tests/hazmat/primitives/test_hash_vectors.py b/tests/hazmat/primitives/test_hash_vectors.py
index a8655812..13ffc3fd 100644
--- a/tests/hazmat/primitives/test_hash_vectors.py
+++ b/tests/hazmat/primitives/test_hash_vectors.py
@@ -15,12 +15,19 @@ from __future__ import absolute_import, division, print_function
import os
+import pytest
+
from cryptography.hazmat.primitives import hashes
from .utils import generate_hash_test, generate_long_string_hash_test
from ...utils import load_hash_vectors
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.SHA1),
+ skip_message="Does not support SHA1",
+)
+@pytest.mark.hash
class TestSHA1(object):
test_SHA1 = generate_hash_test(
load_hash_vectors,
@@ -30,11 +37,14 @@ class TestSHA1(object):
"SHA1ShortMsg.rsp",
],
hashes.SHA1(),
- only_if=lambda backend: backend.hash_supported(hashes.SHA1),
- skip_message="Does not support SHA1",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.SHA224),
+ skip_message="Does not support SHA224",
+)
+@pytest.mark.hash
class TestSHA224(object):
test_SHA224 = generate_hash_test(
load_hash_vectors,
@@ -44,11 +54,14 @@ class TestSHA224(object):
"SHA224ShortMsg.rsp",
],
hashes.SHA224(),
- only_if=lambda backend: backend.hash_supported(hashes.SHA224),
- skip_message="Does not support SHA224",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.SHA256),
+ skip_message="Does not support SHA256",
+)
+@pytest.mark.hash
class TestSHA256(object):
test_SHA256 = generate_hash_test(
load_hash_vectors,
@@ -58,11 +71,14 @@ class TestSHA256(object):
"SHA256ShortMsg.rsp",
],
hashes.SHA256(),
- only_if=lambda backend: backend.hash_supported(hashes.SHA256),
- skip_message="Does not support SHA256",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.SHA384),
+ skip_message="Does not support SHA384",
+)
+@pytest.mark.hash
class TestSHA384(object):
test_SHA384 = generate_hash_test(
load_hash_vectors,
@@ -72,11 +88,14 @@ class TestSHA384(object):
"SHA384ShortMsg.rsp",
],
hashes.SHA384(),
- only_if=lambda backend: backend.hash_supported(hashes.SHA384),
- skip_message="Does not support SHA384",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.SHA512),
+ skip_message="Does not support SHA512",
+)
+@pytest.mark.hash
class TestSHA512(object):
test_SHA512 = generate_hash_test(
load_hash_vectors,
@@ -86,11 +105,14 @@ class TestSHA512(object):
"SHA512ShortMsg.rsp",
],
hashes.SHA512(),
- only_if=lambda backend: backend.hash_supported(hashes.SHA512),
- skip_message="Does not support SHA512",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.RIPEMD160),
+ skip_message="Does not support RIPEMD160",
+)
+@pytest.mark.hash
class TestRIPEMD160(object):
test_RIPEMD160 = generate_hash_test(
load_hash_vectors,
@@ -99,18 +121,19 @@ class TestRIPEMD160(object):
"ripevectors.txt",
],
hashes.RIPEMD160(),
- only_if=lambda backend: backend.hash_supported(hashes.RIPEMD160),
- skip_message="Does not support RIPEMD160",
)
test_RIPEMD160_long_string = generate_long_string_hash_test(
hashes.RIPEMD160(),
"52783243c1697bdbe16d37f97f68f08325dc1528",
- only_if=lambda backend: backend.hash_supported(hashes.RIPEMD160),
- skip_message="Does not support RIPEMD160",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.Whirlpool),
+ skip_message="Does not support Whirlpool",
+)
+@pytest.mark.hash
class TestWhirlpool(object):
test_whirlpool = generate_hash_test(
load_hash_vectors,
@@ -119,8 +142,6 @@ class TestWhirlpool(object):
"iso-test-vectors.txt",
],
hashes.Whirlpool(),
- only_if=lambda backend: backend.hash_supported(hashes.Whirlpool),
- skip_message="Does not support Whirlpool",
)
test_whirlpool_long_string = generate_long_string_hash_test(
@@ -128,11 +149,14 @@ class TestWhirlpool(object):
("0c99005beb57eff50a7cf005560ddf5d29057fd86b2"
"0bfd62deca0f1ccea4af51fc15490eddc47af32bb2b"
"66c34ff9ad8c6008ad677f77126953b226e4ed8b01"),
- only_if=lambda backend: backend.hash_supported(hashes.Whirlpool),
- skip_message="Does not support Whirlpool",
)
+@pytest.mark.supported(
+ only_if=lambda backend: backend.hash_supported(hashes.MD5),
+ skip_message="Does not support MD5",
+)
+@pytest.mark.hash
class TestMD5(object):
test_md5 = generate_hash_test(
load_hash_vectors,
@@ -141,6 +165,4 @@ class TestMD5(object):
"rfc-1321.txt",
],
hashes.MD5(),
- only_if=lambda backend: backend.hash_supported(hashes.MD5),
- skip_message="Does not support MD5",
)