don't modify params on parametrized tests
multiple backends receive the same params dicts, but we were modifying
them using pop.
diff --git a/tests/hazmat/primitives/test_3des.py b/tests/hazmat/primitives/test_3des.py
index 69ec9c9..3574531 100644
--- a/tests/hazmat/primitives/test_3des.py
+++ b/tests/hazmat/primitives/test_3des.py
@@ -37,8 +37,10 @@
"TCBCvarkey.rsp",
"TCBCvartext.rsp",
],
- lambda keys, iv: algorithms.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.CBC(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(
+ binascii.unhexlify(kwargs["keys"])
+ ),
+ lambda **kwargs: modes.CBC(binascii.unhexlify(kwargs["iv"])),
)
test_MMT = generate_encrypt_test(
@@ -49,10 +51,10 @@
"TCBCMMT2.rsp",
"TCBCMMT3.rsp",
],
- lambda key1, key2, key3, iv: (
- algorithms.TripleDES(binascii.unhexlify(key1 + key2 + key3))
- ),
- lambda key1, key2, key3, iv: modes.CBC(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(binascii.unhexlify(
+ kwargs["key1"] + kwargs["key2"] + kwargs["key3"]
+ )),
+ lambda **kwargs: modes.CBC(binascii.unhexlify(kwargs["iv"])),
)
@@ -67,8 +69,10 @@
"TOFBvartext.rsp",
"TOFBinvperm.rsp",
],
- lambda keys, iv: algorithms.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.OFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(
+ binascii.unhexlify(kwargs["keys"])
+ ),
+ lambda **kwargs: modes.OFB(binascii.unhexlify(kwargs["iv"])),
)
test_MMT = generate_encrypt_test(
@@ -79,10 +83,10 @@
"TOFBMMT2.rsp",
"TOFBMMT3.rsp",
],
- lambda key1, key2, key3, iv: (
- algorithms.TripleDES(binascii.unhexlify(key1 + key2 + key3))
- ),
- lambda key1, key2, key3, iv: modes.OFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(binascii.unhexlify(
+ kwargs["key1"] + kwargs["key2"] + kwargs["key3"]
+ )),
+ lambda **kwargs: modes.OFB(binascii.unhexlify(kwargs["iv"])),
)
@@ -97,8 +101,10 @@
"TCFB64varkey.rsp",
"TCFB64vartext.rsp",
],
- lambda keys, iv: algorithms.TripleDES(binascii.unhexlify(keys)),
- lambda keys, iv: modes.CFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(
+ binascii.unhexlify(kwargs["keys"])
+ ),
+ lambda **kwargs: modes.CFB(binascii.unhexlify(kwargs["iv"])),
)
test_MMT = generate_encrypt_test(
@@ -109,8 +115,8 @@
"TCFB64MMT2.rsp",
"TCFB64MMT3.rsp",
],
- lambda key1, key2, key3, iv: (
- algorithms.TripleDES(binascii.unhexlify(key1 + key2 + key3))
- ),
- lambda key1, key2, key3, iv: modes.CFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.TripleDES(binascii.unhexlify(
+ kwargs["key1"] + kwargs["key2"] + kwargs["key3"]
+ )),
+ lambda **kwargs: modes.CFB(binascii.unhexlify(kwargs["iv"])),
)
diff --git a/tests/hazmat/primitives/test_aes.py b/tests/hazmat/primitives/test_aes.py
index f7b0b9a..d706cbd 100644
--- a/tests/hazmat/primitives/test_aes.py
+++ b/tests/hazmat/primitives/test_aes.py
@@ -45,8 +45,8 @@
"CBCMMT192.rsp",
"CBCMMT256.rsp",
],
- lambda key, iv: algorithms.AES(binascii.unhexlify(key)),
- lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.AES(binascii.unhexlify(kwargs["key"])),
+ lambda **kwargs: modes.CBC(binascii.unhexlify(kwargs["iv"])),
)
test_ECB = generate_encrypt_test(
@@ -69,8 +69,8 @@
"ECBMMT192.rsp",
"ECBMMT256.rsp",
],
- lambda key: algorithms.AES(binascii.unhexlify(key)),
- lambda key: modes.ECB(),
+ lambda **kwargs: algorithms.AES(binascii.unhexlify(kwargs["key"])),
+ lambda **kwargs: modes.ECB(),
)
test_OFB = generate_encrypt_test(
@@ -93,8 +93,8 @@
"OFBMMT192.rsp",
"OFBMMT256.rsp",
],
- lambda key, iv: algorithms.AES(binascii.unhexlify(key)),
- lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.AES(binascii.unhexlify(kwargs["key"])),
+ lambda **kwargs: modes.OFB(binascii.unhexlify(kwargs["iv"])),
)
test_CFB = generate_encrypt_test(
@@ -117,16 +117,16 @@
"CFB128MMT192.rsp",
"CFB128MMT256.rsp",
],
- lambda key, iv: algorithms.AES(binascii.unhexlify(key)),
- lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.AES(binascii.unhexlify(kwargs["key"])),
+ lambda **kwargs: modes.CFB(binascii.unhexlify(kwargs["iv"])),
)
test_CTR = generate_encrypt_test(
load_openssl_vectors,
os.path.join("ciphers", "AES", "CTR"),
["aes-128-ctr.txt", "aes-192-ctr.txt", "aes-256-ctr.txt"],
- lambda key, iv: algorithms.AES(binascii.unhexlify(key)),
- lambda key, iv: modes.CTR(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.AES(binascii.unhexlify(kwargs["key"])),
+ lambda **kwargs: modes.CTR(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.AES("\x00" * 16), modes.CTR("\x00" * 16)
),
diff --git a/tests/hazmat/primitives/test_arc4.py b/tests/hazmat/primitives/test_arc4.py
index d233bec..7ce9306 100644
--- a/tests/hazmat/primitives/test_arc4.py
+++ b/tests/hazmat/primitives/test_arc4.py
@@ -35,7 +35,7 @@
"rfc-6229-192.txt",
"rfc-6229-256.txt",
],
- lambda key: algorithms.ARC4(binascii.unhexlify((key))),
+ lambda **kwargs: algorithms.ARC4(binascii.unhexlify((kwargs["key"]))),
only_if=lambda backend: backend.cipher_supported(
algorithms.ARC4("\x00" * 16), None
),
diff --git a/tests/hazmat/primitives/test_blowfish.py b/tests/hazmat/primitives/test_blowfish.py
index d5fbed6..3e0e902 100644
--- a/tests/hazmat/primitives/test_blowfish.py
+++ b/tests/hazmat/primitives/test_blowfish.py
@@ -27,8 +27,10 @@
load_nist_vectors,
os.path.join("ciphers", "Blowfish"),
["bf-ecb.txt"],
- lambda key: algorithms.Blowfish(binascii.unhexlify(key)),
- lambda key: modes.ECB(),
+ lambda **kwargs: algorithms.Blowfish(
+ binascii.unhexlify(kwargs["key"])
+ ),
+ lambda **kwargs: modes.ECB(),
only_if=lambda backend: backend.cipher_supported(
algorithms.Blowfish("\x00" * 56), modes.ECB()
),
@@ -39,8 +41,10 @@
load_nist_vectors,
os.path.join("ciphers", "Blowfish"),
["bf-cbc.txt"],
- lambda key, iv: algorithms.Blowfish(binascii.unhexlify(key)),
- lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Blowfish(
+ binascii.unhexlify(kwargs["key"])
+ ),
+ lambda **kwargs: modes.CBC(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Blowfish("\x00" * 56), modes.CBC("\x00" * 8)
),
@@ -51,8 +55,10 @@
load_nist_vectors,
os.path.join("ciphers", "Blowfish"),
["bf-ofb.txt"],
- lambda key, iv: algorithms.Blowfish(binascii.unhexlify(key)),
- lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Blowfish(
+ binascii.unhexlify(kwargs["key"])
+ ),
+ lambda **kwargs: modes.OFB(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Blowfish("\x00" * 56), modes.OFB("\x00" * 8)
),
@@ -63,8 +69,10 @@
load_nist_vectors,
os.path.join("ciphers", "Blowfish"),
["bf-cfb.txt"],
- lambda key, iv: algorithms.Blowfish(binascii.unhexlify(key)),
- lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Blowfish(
+ binascii.unhexlify(kwargs["key"])
+ ),
+ lambda **kwargs: modes.CFB(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Blowfish("\x00" * 56), modes.CFB("\x00" * 8)
),
diff --git a/tests/hazmat/primitives/test_camellia.py b/tests/hazmat/primitives/test_camellia.py
index a2c935d..e11d590 100644
--- a/tests/hazmat/primitives/test_camellia.py
+++ b/tests/hazmat/primitives/test_camellia.py
@@ -33,8 +33,10 @@
"camellia-192-ecb.txt",
"camellia-256-ecb.txt"
],
- lambda key: algorithms.Camellia(binascii.unhexlify((key))),
- lambda key: modes.ECB(),
+ lambda **kwargs: algorithms.Camellia(
+ binascii.unhexlify((kwargs["key"]))
+ ),
+ lambda **kwargs: modes.ECB(),
only_if=lambda backend: backend.cipher_supported(
algorithms.Camellia("\x00" * 16), modes.ECB()
),
@@ -45,8 +47,10 @@
load_openssl_vectors,
os.path.join("ciphers", "Camellia"),
["camellia-cbc.txt"],
- lambda key, iv: algorithms.Camellia(binascii.unhexlify(key)),
- lambda key, iv: modes.CBC(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Camellia(
+ binascii.unhexlify((kwargs["key"]))
+ ),
+ lambda **kwargs: modes.CBC(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Camellia("\x00" * 16), modes.CBC("\x00" * 16)
),
@@ -57,8 +61,10 @@
load_openssl_vectors,
os.path.join("ciphers", "Camellia"),
["camellia-ofb.txt"],
- lambda key, iv: algorithms.Camellia(binascii.unhexlify(key)),
- lambda key, iv: modes.OFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Camellia(
+ binascii.unhexlify((kwargs["key"]))
+ ),
+ lambda **kwargs: modes.OFB(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Camellia("\x00" * 16), modes.OFB("\x00" * 16)
),
@@ -69,8 +75,10 @@
load_openssl_vectors,
os.path.join("ciphers", "Camellia"),
["camellia-cfb.txt"],
- lambda key, iv: algorithms.Camellia(binascii.unhexlify(key)),
- lambda key, iv: modes.CFB(binascii.unhexlify(iv)),
+ lambda **kwargs: algorithms.Camellia(
+ binascii.unhexlify((kwargs["key"]))
+ ),
+ lambda **kwargs: modes.CFB(binascii.unhexlify(kwargs["iv"])),
only_if=lambda backend: backend.cipher_supported(
algorithms.Camellia("\x00" * 16), modes.CFB("\x00" * 16)
),
diff --git a/tests/hazmat/primitives/test_cast5.py b/tests/hazmat/primitives/test_cast5.py
index a283daf..10c6ef3 100644
--- a/tests/hazmat/primitives/test_cast5.py
+++ b/tests/hazmat/primitives/test_cast5.py
@@ -27,8 +27,8 @@
load_nist_vectors,
os.path.join("ciphers", "CAST5"),
["cast5-ecb.txt"],
- lambda key: algorithms.CAST5(binascii.unhexlify((key))),
- lambda key: modes.ECB(),
+ lambda **kwargs: algorithms.CAST5(binascii.unhexlify((kwargs["key"]))),
+ lambda **kwargs: modes.ECB(),
only_if=lambda backend: backend.cipher_supported(
algorithms.CAST5("\x00" * 16), modes.ECB()
),
diff --git a/tests/hazmat/primitives/utils.py b/tests/hazmat/primitives/utils.py
index 758e755..227a405 100644
--- a/tests/hazmat/primitives/utils.py
+++ b/tests/hazmat/primitives/utils.py
@@ -44,8 +44,8 @@
skip_message):
if not only_if(backend):
pytest.skip(skip_message)
- plaintext = params.pop("plaintext")
- ciphertext = params.pop("ciphertext")
+ plaintext = params["plaintext"]
+ ciphertext = params["ciphertext"]
cipher = Cipher(
cipher_factory(**params),
mode_factory(**params),
@@ -84,9 +84,9 @@
if not only_if(backend):
pytest.skip(skip_message)
if params.get("pt") is not None:
- plaintext = params.pop("pt")
- ciphertext = params.pop("ct")
- aad = params.pop("aad")
+ plaintext = params["pt"]
+ ciphertext = params["ct"]
+ aad = params["aad"]
if params.get("fail") is True:
cipher = Cipher(
cipher_factory(binascii.unhexlify(params["key"])),
@@ -145,9 +145,9 @@
skip_message):
if not only_if(backend):
pytest.skip(skip_message)
- plaintext = params.pop("plaintext")
- ciphertext = params.pop("ciphertext")
- offset = params.pop("offset")
+ plaintext = params["plaintext"]
+ ciphertext = params["ciphertext"]
+ offset = params["offset"]
cipher = Cipher(cipher_factory(**params), None, backend=backend)
encryptor = cipher.encryptor()
# throw away offset bytes