summaryrefslogtreecommitdiff
path: root/utils/gen-hash-tests.bash
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gen-hash-tests.bash')
-rwxr-xr-xutils/gen-hash-tests.bash30
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/gen-hash-tests.bash b/utils/gen-hash-tests.bash
new file mode 100755
index 0000000..9999af0
--- /dev/null
+++ b/utils/gen-hash-tests.bash
@@ -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_