summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutils/gen-hash-tests.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/gen-hash-tests.py b/utils/gen-hash-tests.py
new file mode 100755
index 0000000..9999af0
--- /dev/null
+++ b/utils/gen-hash-tests.py
@@ -0,0 +1,30 @@
+#!/bin/bash
+test_string='The quick brown fox jumps over the lazy dog'
+
+if [[ ${#} -lt 1 ]]; then
+ echo "Usage: ${0} <hashlib-name> [<program-to-use>]"
+ exit 1
+fi
+
+algo=${1}
+algo_sum=${2:-${algo}sum}
+
+empty=$(printf '' | ${algo_sum} | cut -d' ' -f1)
+str=$(printf '%s' "${test_string}" | ${algo_sum} | cut -d' ' -f1)
+
+cat <<_EOF_
+
+ def test_${algo}(self):
+ try:
+ self.assertEqual(hash_bytes(TEST_STRING, '${algo}'),
+ '${str}')
+ except UnsupportedHash:
+ raise unittest.SkipTest('hash not supported')
+
+ def test_${algo}_empty(self):
+ try:
+ self.assertEqual(hash_bytes(b'', '${algo}'),
+ '${empty}')
+ except UnsupportedHash:
+ raise unittest.SkipTest('hash not supported')
+_EOF_