aboutsummaryrefslogtreecommitdiff
path: root/tests/hash.lua
diff options
context:
space:
mode:
authorame <[email protected]>2024-04-15 08:23:28 -0500
committerame <[email protected]>2024-04-15 08:23:28 -0500
commit89c9c2e56c8b547ee0b0e104798c609d8d307f5e (patch)
treee864d5bb71d06320ede5a5f15158938dcc4c1912 /tests/hash.lua
parent7018bae05d9c04c799e715294b5c58317f21a5ac (diff)
msys2 + fix logging
Diffstat (limited to 'tests/hash.lua')
-rw-r--r--tests/hash.lua378
1 files changed, 189 insertions, 189 deletions
diff --git a/tests/hash.lua b/tests/hash.lua
index fbeaabc..28e2323 100644
--- a/tests/hash.lua
+++ b/tests/hash.lua
@@ -1,189 +1,189 @@
-require "llib"
-
-local hashes_working = 0
-local hashes_failed = 0
-local functions_working = 0
-local functions_failed = 0
-
-function test(name,b,exp,oargs)
- local fail = false
- local hash
- local hash2
- local hash3
- local hash4
- local hash5
- local hash6
- local hash7
- local add = ""
- if oargs == nil then
- hash = llib.crypto[name](b)
- else
- hash = llib.crypto[name](b,table.unpack(oargs))
- add = table.concat(oargs, ", ")
- end
-
- if(llib.crypto[name.."_init"] ~= nil) then
- if(oargs == nil) then
- hash2 = llib.crypto[name]():update(b):final()
- hash5 = llib.crypto[name]()
- hash6 = hash5 + b;
- hash6 = hash6:final()
- hash5 = hash5:update(b):final()
- else
- hash2 = llib.crypto[name](table.unpack(oargs)):update(b):final()
- hash5 = llib.crypto[name](table.unpack(oargs))
- hash6 = hash5 + b;
- hash6 = hash6:final()
- hash5 = hash5:update(b):final()
- end
-
- if(hash5 ~= exp) then
- fail = true
- functions_failed = functions_failed + 1
- llib.io.error(name.." + then final method not working, got:\n\t"..hash5.." other was:\n\t"..exp)
- else
- functions_working = functions_working + 1
- llib.io.log(name.." + then final method working "..hash5.." == "..exp)
- end
-
- if(hash6 ~= exp) then
- fail = true
- functions_failed = functions_failed + 1
- llib.io.error(name.." + method not working, got:\n\t"..hash6.." other was:\n\t"..exp)
- else
- functions_working = functions_working + 1
- llib.io.log(name.." + method working "..hash6.." == "..exp)
- end
-
- if(oargs == nil) then
- hash3 = llib.crypto[name]()
- else
- hash3 = llib.crypto[name](table.unpack(oargs))
- end
- b:gsub(".", function(c) hash3:update(c) end)
- hash3 = hash3:final()
-
- if(oargs == nil) then
- hash4 = llib.crypto[name.."_init"]()
- else
- hash4 = llib.crypto[name.."_init"](table.unpack(oargs))
- end
- llib.crypto[name.."_update"](hash4, b)
- hash4 = llib.crypto[name.."_final"](hash4)
-
- if(hash2 ~= exp) then
- fail = true
- functions_failed=functions_failed + 1
- llib.io.error(name.." alt method not working, got:\n\t"..hash2.." other was:\n\t"..exp)
- else
- functions_working=functions_working + 1
- llib.io.log(name.." alt method working "..hash2.." == "..exp)
- end
-
- if(hash4 ~= exp) then
- fail = true
- functions_failed=functions_failed + 1
- llib.io.error(name.." alt method 2 not working, got:\n\t"..hash4.." other was:\n\t"..exp)
- else
- functions_working=functions_working + 1
- llib.io.log(name.." alt method 2 working "..hash4.." == "..exp)
- end
-
- if(hash3 ~= exp) then
- fail = true
- functions_failed=functions_failed + 1
- llib.io.error(name.." alt char-b-char method not working, got:\n\t"..hash3.." other was:\n\t"..exp)
- else
- functions_working=functions_working + 1
- llib.io.log(name.." alt char-b-char method working "..hash3.." == "..exp)
- end
-
- end
-
- if not (hash == exp) then
- fail = true
- functions_failed=functions_failed + 1
- llib.io.error(name.." not working, got:\n\t"..hash.." wanted:\n\t"..exp.."\n\twith args: {"..add.."}")
- else
- functions_working=functions_working + 1
- llib.io.log(name.." was correct, "..hash)
- end
-
- if(fail) then
- hashes_failed=hashes_failed + 1
- else
- hashes_working=hashes_working + 1
- end
-end
-
-test("adler32","meow","043c01b9")
-test("bsdchecksum","meow","24789")
-test("crc8","meow","a4")
-test("crc16","meow","6561")
-test("crc32","meow","8a106afe")
-test("fletcher8","meow","05")
-test("fletcher16","meow","3cb9")
-test("fletcher32","meow","043801b8")
-test("md5","meow","4a4be40c96ac6314e91d93f38043a634")
-test("pearson","meow","10")
-test("sha0","meow","36a22def8a9e92a1ee73579abc389e8a21b24b61")
-test("sha1","meow","7d5c2a2d6136fbf166211d5183bf66214a247f31")
-test("sha224","meow","e28f8ee4dd8618b890df366b85a2d45d2506dd842e95272b9a598998")
-test("sha256","meow","404cdd7bc109c432f8cc2443b45bcfe95980f5107215c645236e577929ac3e52")
-test("sysvchecksum","meow","1b8")
-test("xor8","meow","48")
-test("xxh32","meow","6ba6f6f0")
-test("xxh64","meow","bc11093a30a6315f")
-test("buzhash8","meow","57")
-test("buzhash16","meow","0255")
-test("cityhash32","meow","c41a03e9")
-test("cityhash64","meow","e99b592ae1ff868b")
-test("cityhash128","meow","d73f2b9c5501a6524097c5d815f2152")
-test("djb2","meow","7c9a913d")
-test("farmhash32","meow","c41a03e9");
-test("farmhash64","meow","e99b592ae1ff868b")
---maybe test fasthash, metrohash, sha512_t and murmur blehh
-test("fnv_0","meow","b0850402171532ac")
-test("fnv_1","meow","c60a427ebfe83be5")
-test("fnv_a","meow","42faffa2e30e025d")
-test("oaat","meow","8532510")
-test("loselose","meow","000001b8")
-test("pjw","meow","00073c67")
-test("sdbm","meow","006d50f201921b00")
-test("sha512","meow","e88348269bad036160f0d9558b7c5de68163b50e1a6ce46e85ee64692eba074529a4a2b48db4d5c36496e845001e13e6d07c585eacd564defcbf719ec9033e17");
-test("sha384","meow","f0bb848a382b5ed5e2f49a46252f6b738c933dc20bb29dc4a5d312e310b395c4fa07f30a8a7380b4a5d367445e0ea8cb")
-test("sha512_t", "meow", "ad5e403e0d74532187f4e1665c7e705ab5eb3c2fe07ae73a3ff998b2", {224})
-test("fasthash64","meow","7b9e494cf11ee113")
-test("fasthash32","meow","758097c7")
-test("metrohash64_v1", "meow", "7435945e80261ed1")
-test("metrohash64_v2","meow","f951647d250e36f0")
-test("metrohash128_v1","meow","bfd8835cbcc06d2be6fc2c8e5ecbcc26")
-test("metrohash128_v2","meow","6d8634ccf529269297704cba8bf8707a")
-test("murmur1_32","meow","743df82f")
-test("murmur2_32","meow","05d01b88")
-test("blake2b","meow","9919ae53fbea6c5da68e51b6e19a890fdbc01baf97fff29efd7efaa7163ea7aa205109b818bde29da815e16b869dbb2cb1b367ed1027f52116287d760808a43d")
-test("blake2b","meow","424969d2fe47cdec2a824709b8066cc1d63cc4b6a16a3c1fa421cc2a6625f7c2",{32})
-test("blake2b","meow","6f30fdec70f9ed6d8db2e7407d3e2325af23935464ec3ec1cf4c12575ff3c18043bf772033b91d52978c451d01f7eaeacabda76460b9f4b7bf516dd9d0cc886d",{64,"owo"})
-test("blake2s","meow","f461bed24c982ccb29cb967acdaebc9494b51c1d0f88f6bc47850952261a512d")
-test("blake2s","meow","f461bed24c982ccb29cb967acdaebc9494b51c1d0f88f6bc47850952261a512d",{32})
-test("blake2s","meow","9b9337c21933515eb975fb9e4c14894097d364e1d1ca8b6582bcec96b3f4ca34",{32,"owo"})
-test("blake256", "meow", "067805dd21a4ef97460c6613f231437917a1c1c7f1dcd1bfe67d952d09ccb028")
-test("blake224", "meow", "0a099d692027cfbe69d2424a5b2520a7398fa4945e0878f6c541f5ce")
-test("blake512", "meow", "09d5abe166c4ad855d4527d0be21df2b1a01c3d7c5637572561ebc247908fd7db30bf342391dd0a834fd35f391807480fb31e8a7ee3b1098e46d996d5601948f")
-test("blake384", "meow", "7edb2ff04616f5551a789217029496c3c8601ac7aba2d40d7fcd1ec85fc63f37514e5884f2ebc807b11854247620446c")
-
-test("md5", "meow meow mrrp meow meow!! mrrp ", "900df0c6e7df499615d588b6e83caf10")
-test("md5", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "900bc8ffba6262b4d1dd09b2518c23bd")
-
-test("sha1", "meow meow mrrp meow meow!! mrrp ", "3ea97f1835830d4be6ec86f5382f66f3e0d2f973")
-test("sha1", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "d635d131ca7fd03c4c5d0cb5ca9707c3f5494427")
-
-test("sha512", "meow meow mrrp meow meow!! mrrp meow meow mrrp meow meow!! mrrp ", "faecf93fc69a194c3433f179f4d643bfbc30e03cf97ec0bae097b2bfe9f58bf8c96978f551635905862ffcad1c1e92588788dfad99cfad951770226110fbd2fb")
-test("sha512", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "8ea73a99c1d773605ac958996ca30b1214f475851d0dc897547a68a3da0cbdfd449344352e8f3c4c96477e5c4d6aa7e54e86f566da0f299899e56a445ccbf5c1")
---test("sha1", "meow meow mrrp meow meow!! mrrp ", "3ea97f1835830d4be6ec86f5382f66f3e0d2f973")
---test("sha1", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "014842d480b571495a4a0363793f7367")
---test("sha512", "meow meow mrrp meow meow!! mrrp ", "eda9416e9bf4b2557279140cf03331d26f30b8294b0296112ec8094811df296b17393b8fb42cd6a84c52a9dcb7b8b4cb699a797aae8726ba306c3b3b79fba9c1")
---test("sha512", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "014842d480b571495a4a0363793f7367")
---print(llib.crypto.md5("meow meow mrrp meow meow!! mrrp "))
-print(hashes_working.."/"..hashes_failed.." hashes working/failed")
-print(functions_working.."/"..functions_failed.." functions working/failed")
+require "llib"
+
+local hashes_working = 0
+local hashes_failed = 0
+local functions_working = 0
+local functions_failed = 0
+
+function test(name,b,exp,oargs)
+ local fail = false
+ local hash
+ local hash2
+ local hash3
+ local hash4
+ local hash5
+ local hash6
+ local hash7
+ local add = ""
+ if oargs == nil then
+ hash = llib.crypto[name](b)
+ else
+ hash = llib.crypto[name](b,table.unpack(oargs))
+ add = table.concat(oargs, ", ")
+ end
+
+ if(llib.crypto[name.."_init"] ~= nil) then
+ if(oargs == nil) then
+ hash2 = llib.crypto[name]():update(b):final()
+ hash5 = llib.crypto[name]()
+ hash6 = hash5 + b;
+ hash6 = hash6:final()
+ hash5 = hash5:update(b):final()
+ else
+ hash2 = llib.crypto[name](table.unpack(oargs)):update(b):final()
+ hash5 = llib.crypto[name](table.unpack(oargs))
+ hash6 = hash5 + b;
+ hash6 = hash6:final()
+ hash5 = hash5:update(b):final()
+ end
+
+ if(hash5 ~= exp) then
+ fail = true
+ functions_failed = functions_failed + 1
+ llib.io.error(name.." + then final method not working, got:\n\t"..hash5.." other was:\n\t"..exp)
+ else
+ functions_working = functions_working + 1
+ llib.io.log(name.." + then final method working "..hash5.." == "..exp)
+ end
+
+ if(hash6 ~= exp) then
+ fail = true
+ functions_failed = functions_failed + 1
+ llib.io.error(name.." + method not working, got:\n\t"..hash6.." other was:\n\t"..exp)
+ else
+ functions_working = functions_working + 1
+ llib.io.log(name.." + method working "..hash6.." == "..exp)
+ end
+
+ if(oargs == nil) then
+ hash3 = llib.crypto[name]()
+ else
+ hash3 = llib.crypto[name](table.unpack(oargs))
+ end
+ b:gsub(".", function(c) hash3:update(c) end)
+ hash3 = hash3:final()
+
+ if(oargs == nil) then
+ hash4 = llib.crypto[name.."_init"]()
+ else
+ hash4 = llib.crypto[name.."_init"](table.unpack(oargs))
+ end
+ llib.crypto[name.."_update"](hash4, b)
+ hash4 = llib.crypto[name.."_final"](hash4)
+
+ if(hash2 ~= exp) then
+ fail = true
+ functions_failed=functions_failed + 1
+ llib.io.error(name.." alt method not working, got:\n\t"..hash2.." other was:\n\t"..exp)
+ else
+ functions_working=functions_working + 1
+ llib.io.log(name.." alt method working "..hash2.." == "..exp)
+ end
+
+ if(hash4 ~= exp) then
+ fail = true
+ functions_failed=functions_failed + 1
+ llib.io.error(name.." alt method 2 not working, got:\n\t"..hash4.." other was:\n\t"..exp)
+ else
+ functions_working=functions_working + 1
+ llib.io.log(name.." alt method 2 working "..hash4.." == "..exp)
+ end
+
+ if(hash3 ~= exp) then
+ fail = true
+ functions_failed=functions_failed + 1
+ llib.io.error(name.." alt char-b-char method not working, got:\n\t"..hash3.." other was:\n\t"..exp)
+ else
+ functions_working=functions_working + 1
+ llib.io.log(name.." alt char-b-char method working "..hash3.." == "..exp)
+ end
+
+ end
+
+ if not (hash == exp) then
+ fail = true
+ functions_failed=functions_failed + 1
+ llib.io.error(name.." not working, got:\n\t"..hash.." wanted:\n\t"..exp.."\n\twith args: {"..add.."}")
+ else
+ functions_working=functions_working + 1
+ llib.io.log(name.." was correct, "..hash)
+ end
+
+ if(fail) then
+ hashes_failed=hashes_failed + 1
+ else
+ hashes_working=hashes_working + 1
+ end
+end
+
+test("adler32","meow","043c01b9")
+test("bsdchecksum","meow","24789")
+test("crc8","meow","a4")
+test("crc16","meow","6561")
+test("crc32","meow","8a106afe")
+test("fletcher8","meow","05")
+test("fletcher16","meow","3cb9")
+test("fletcher32","meow","043801b8")
+test("md5","meow","4a4be40c96ac6314e91d93f38043a634")
+test("pearson","meow","10")
+test("sha0","meow","36a22def8a9e92a1ee73579abc389e8a21b24b61")
+test("sha1","meow","7d5c2a2d6136fbf166211d5183bf66214a247f31")
+test("sha224","meow","e28f8ee4dd8618b890df366b85a2d45d2506dd842e95272b9a598998")
+test("sha256","meow","404cdd7bc109c432f8cc2443b45bcfe95980f5107215c645236e577929ac3e52")
+test("sysvchecksum","meow","1b8")
+test("xor8","meow","48")
+test("xxh32","meow","6ba6f6f0")
+test("xxh64","meow","bc11093a30a6315f")
+test("buzhash8","meow","57")
+test("buzhash16","meow","0255")
+test("cityhash32","meow","c41a03e9")
+test("cityhash64","meow","e99b592ae1ff868b")
+test("cityhash128","meow","d73f2b9c5501a6524097c5d815f2152")
+test("djb2","meow","7c9a913d")
+test("farmhash32","meow","c41a03e9");
+test("farmhash64","meow","e99b592ae1ff868b")
+--maybe test fasthash, metrohash, sha512_t and murmur blehh
+test("fnv_0","meow","b0850402171532ac")
+test("fnv_1","meow","c60a427ebfe83be5")
+test("fnv_a","meow","42faffa2e30e025d")
+test("oaat","meow","8532510")
+test("loselose","meow","000001b8")
+test("pjw","meow","00073c67")
+test("sdbm","meow","006d50f201921b00")
+test("sha512","meow","e88348269bad036160f0d9558b7c5de68163b50e1a6ce46e85ee64692eba074529a4a2b48db4d5c36496e845001e13e6d07c585eacd564defcbf719ec9033e17");
+test("sha384","meow","f0bb848a382b5ed5e2f49a46252f6b738c933dc20bb29dc4a5d312e310b395c4fa07f30a8a7380b4a5d367445e0ea8cb")
+test("sha512_t", "meow", "ad5e403e0d74532187f4e1665c7e705ab5eb3c2fe07ae73a3ff998b2", {224})
+test("fasthash64","meow","7b9e494cf11ee113")
+test("fasthash32","meow","758097c7")
+test("metrohash64_v1", "meow", "7435945e80261ed1")
+test("metrohash64_v2","meow","f951647d250e36f0")
+test("metrohash128_v1","meow","bfd8835cbcc06d2be6fc2c8e5ecbcc26")
+test("metrohash128_v2","meow","6d8634ccf529269297704cba8bf8707a")
+test("murmur1_32","meow","743df82f")
+test("murmur2_32","meow","05d01b88")
+test("blake2b","meow","9919ae53fbea6c5da68e51b6e19a890fdbc01baf97fff29efd7efaa7163ea7aa205109b818bde29da815e16b869dbb2cb1b367ed1027f52116287d760808a43d")
+test("blake2b","meow","424969d2fe47cdec2a824709b8066cc1d63cc4b6a16a3c1fa421cc2a6625f7c2",{32})
+test("blake2b","meow","6f30fdec70f9ed6d8db2e7407d3e2325af23935464ec3ec1cf4c12575ff3c18043bf772033b91d52978c451d01f7eaeacabda76460b9f4b7bf516dd9d0cc886d",{64,"owo"})
+test("blake2s","meow","f461bed24c982ccb29cb967acdaebc9494b51c1d0f88f6bc47850952261a512d")
+test("blake2s","meow","f461bed24c982ccb29cb967acdaebc9494b51c1d0f88f6bc47850952261a512d",{32})
+test("blake2s","meow","9b9337c21933515eb975fb9e4c14894097d364e1d1ca8b6582bcec96b3f4ca34",{32,"owo"})
+test("blake256", "meow", "067805dd21a4ef97460c6613f231437917a1c1c7f1dcd1bfe67d952d09ccb028")
+test("blake224", "meow", "0a099d692027cfbe69d2424a5b2520a7398fa4945e0878f6c541f5ce")
+test("blake512", "meow", "09d5abe166c4ad855d4527d0be21df2b1a01c3d7c5637572561ebc247908fd7db30bf342391dd0a834fd35f391807480fb31e8a7ee3b1098e46d996d5601948f")
+test("blake384", "meow", "7edb2ff04616f5551a789217029496c3c8601ac7aba2d40d7fcd1ec85fc63f37514e5884f2ebc807b11854247620446c")
+
+test("md5", "meow meow mrrp meow meow!! mrrp ", "900df0c6e7df499615d588b6e83caf10")
+test("md5", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "900bc8ffba6262b4d1dd09b2518c23bd")
+
+test("sha1", "meow meow mrrp meow meow!! mrrp ", "3ea97f1835830d4be6ec86f5382f66f3e0d2f973")
+test("sha1", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "d635d131ca7fd03c4c5d0cb5ca9707c3f5494427")
+
+test("sha512", "meow meow mrrp meow meow!! mrrp meow meow mrrp meow meow!! mrrp ", "faecf93fc69a194c3433f179f4d643bfbc30e03cf97ec0bae097b2bfe9f58bf8c96978f551635905862ffcad1c1e92588788dfad99cfad951770226110fbd2fb")
+test("sha512", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@", "8ea73a99c1d773605ac958996ca30b1214f475851d0dc897547a68a3da0cbdfd449344352e8f3c4c96477e5c4d6aa7e54e86f566da0f299899e56a445ccbf5c1")
+--test("sha1", "meow meow mrrp meow meow!! mrrp ", "3ea97f1835830d4be6ec86f5382f66f3e0d2f973")
+--test("sha1", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "014842d480b571495a4a0363793f7367")
+--test("sha512", "meow meow mrrp meow meow!! mrrp ", "eda9416e9bf4b2557279140cf03331d26f30b8294b0296112ec8094811df296b17393b8fb42cd6a84c52a9dcb7b8b4cb699a797aae8726ba306c3b3b79fba9c1")
+--test("sha512", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "014842d480b571495a4a0363793f7367")
+--print(llib.crypto.md5("meow meow mrrp meow meow!! mrrp "))
+print(hashes_working.."/"..hashes_failed.." hashes working/failed")
+print(functions_working.."/"..functions_failed.." functions working/failed")