aboutsummaryrefslogtreecommitdiffstats
path: root/tests/primitives/utils.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2013-10-16 14:27:52 -0700
committerAlex Gaynor <alex.gaynor@gmail.com>2013-10-16 14:27:52 -0700
commit512dd6925202c5dc6680dd7157a132a9ffc4855f (patch)
tree825f91b14d8bf539bde5e4f3b7ec670f078e8a68 /tests/primitives/utils.py
parenta20631d332d47903a85b61c4b68c5398125a3ebe (diff)
downloadcryptography-512dd6925202c5dc6680dd7157a132a9ffc4855f.tar.gz
cryptography-512dd6925202c5dc6680dd7157a132a9ffc4855f.tar.bz2
cryptography-512dd6925202c5dc6680dd7157a132a9ffc4855f.zip
Move around the skip logic
Diffstat (limited to 'tests/primitives/utils.py')
-rw-r--r--tests/primitives/utils.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/tests/primitives/utils.py b/tests/primitives/utils.py
index addd7123..e4cb8da7 100644
--- a/tests/primitives/utils.py
+++ b/tests/primitives/utils.py
@@ -8,19 +8,28 @@ from cryptography.primitives.block import BlockCipher
def generate_encrypt_test(param_loader, path, file_names, cipher_factory,
- mode_factory, only_if=lambda api: True):
+ mode_factory, only_if=lambda api: True,
+ skip_message=None):
def test_encryption(self):
for api in _ALL_APIS:
- if not only_if(api):
- yield encrypt_skipped
- else:
- for file_name in file_names:
- for params in param_loader(os.path.join(path, file_name)):
- yield encrypt_test, api, cipher_factory, mode_factory, params
+ for file_name in file_names:
+ for params in param_loader(os.path.join(path, file_name)):
+ yield (
+ encrypt_test,
+ api,
+ cipher_factory,
+ mode_factory,
+ params,
+ only_if,
+ skip_message
+ )
return test_encryption
-def encrypt_test(api, cipher_factory, mode_factory, params):
+def encrypt_test(api, cipher_factory, mode_factory, params, only_if,
+ skip_message):
+ if not only_if(api):
+ pytest.skip(skip_message)
plaintext = params.pop("plaintext")
ciphertext = params.pop("ciphertext")
cipher = BlockCipher(
@@ -31,7 +40,3 @@ def encrypt_test(api, cipher_factory, mode_factory, params):
actual_ciphertext = cipher.encrypt(binascii.unhexlify(plaintext))
actual_ciphertext += cipher.finalize()
assert binascii.hexlify(actual_ciphertext) == ciphertext
-
-
-def encrypt_skipped():
- pytest.skip("because reasons")