aboutsummaryrefslogtreecommitdiffstats
path: root/tests/utils.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-01-27 10:08:35 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2014-01-27 10:08:35 -0800
commit36e651c00aaa8f9016aed73bf30061fbd1bdf6e7 (patch)
tree43a719e4fd31ad54a7fa4ef37da3cdfbc42765a9 /tests/utils.py
parent6b4f32311e038a60ed496e2f44558b8803f9e033 (diff)
downloadcryptography-36e651c00aaa8f9016aed73bf30061fbd1bdf6e7.tar.gz
cryptography-36e651c00aaa8f9016aed73bf30061fbd1bdf6e7.tar.bz2
cryptography-36e651c00aaa8f9016aed73bf30061fbd1bdf6e7.zip
Represent the hash vectors more cleanly
Diffstat (limited to 'tests/utils.py')
-rw-r--r--tests/utils.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/tests/utils.py b/tests/utils.py
index a2432256..507bc421 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -11,11 +11,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import collections
import os
import pytest
+HashVector = collections.namedtuple("HashVector", ["message", "digest"])
+KeyedHashVector = collections.namedtuple(
+ "KeyedHashVector", ["message", "digest", "key"]
+)
+
+
def select_backends(names, backend_list):
if names is None:
return backend_list
@@ -158,27 +165,23 @@ def load_hash_vectors(vector_data):
if line.startswith("Len"):
length = int(line.split(" = ")[1])
elif line.startswith("Key"):
- """
- HMAC vectors contain a key attribute. Hash vectors do not.
- """
+ # HMAC vectors contain a key attribute. Hash vectors do not.
key = line.split(" = ")[1].encode("ascii")
elif line.startswith("Msg"):
- """
- In the NIST vectors they have chosen to represent an empty
- string as hex 00, which is of course not actually an empty
- string. So we parse the provided length and catch this edge case.
- """
+ # In the NIST vectors they have chosen to represent an empty
+ # string as hex 00, which is of course not actually an empty
+ # string. So we parse the provided length and catch this edge case.
msg = line.split(" = ")[1].encode("ascii") if length > 0 else b""
elif line.startswith("MD"):
md = line.split(" = ")[1]
# after MD is found the Msg+MD (+ potential key) tuple is complete
if key is not None:
- vectors.append((msg, md, key))
+ vectors.append(KeyedHashVector(msg, md, key))
key = None
msg = None
md = None
else:
- vectors.append((msg, md))
+ vectors.append(HashVector(msg, md))
msg = None
md = None
else: