From 1aa59684200c14391488d1ae19282894d39c9bd7 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Mon, 2 Nov 2020 22:24:04 -0600 Subject: [PATCH] validate with other snappy impls --- .gitignore | 1 + tests/test.nim | 14 +++++++++++--- tests/validate.nim | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 tests/validate.nim diff --git a/.gitignore b/.gitignore index 3ac8f91..546f925 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ *.exe *.js nimcache +*.dll diff --git a/tests/test.nim b/tests/test.nim index 579d48f..9a27a51 100644 --- a/tests/test.nim +++ b/tests/test.nim @@ -28,9 +28,17 @@ block baddata: discard const files = [ - "alice29.txt", "asyoulik.txt", "fireworks.jpg", "geo.protodata", - "html", "html_x_4", "kppkn.gtb", "lcet10.txt", "paper-100k.pdf", - "plrabn12.txt", "urls.10K" + "alice29.txt", + "asyoulik.txt", + "fireworks.jpg", + "geo.protodata", + "html", + "html_x_4", + "kppkn.gtb", + "lcet10.txt", + "paper-100k.pdf", + "plrabn12.txt", + "urls.10K" ] for file in files: diff --git a/tests/validate.nim b/tests/validate.nim new file mode 100644 index 0000000..7dbe740 --- /dev/null +++ b/tests/validate.nim @@ -0,0 +1,44 @@ +import strformat, supersnappy, snappy, nimsnappyc + +const files = [ + "alice29.txt", + "asyoulik.txt", + "fireworks.jpg", + "geo.protodata", + "html", + "html_x_4", + "kppkn.gtb", + "lcet10.txt", + "paper-100k.pdf", + "plrabn12.txt", + "urls.10K" +] + +# import nimsnappy # Requires libsnappy.dll +# block dfdeshom_nimsnappy: +# echo "https://github.com/dfdeshom/nimsnappy" +# for file in files: +# let original = readFile(&"tests/data/{file}") +# doAssert nimsnappy.uncompress(supersnappy.compress(original)) == original +# doassert supersnappy.uncompress(nimsnappy.compress(original)) == original +# echo "pass!" + +block nimcompression_nimsnappyc: + echo "https://github.com/NimCompression/nimsnappyc" + for file in files: + let original = cast[seq[uint8]](readFile(&"tests/data/{file}")) + doAssert nimsnappyc.snappyUncompress( + supersnappy.compress(original) + ) == original + doassert supersnappy.uncompress( + nimsnappyc.snappyCompress(original) + ) == original + echo "pass!" + +block jangko_snappy: + echo "https://github.com/jangko/snappy" + for file in files: + let original = cast[seq[uint8]](readFile(&"tests/data/{file}")) + doAssert snappy.decode(supersnappy.compress(original)) == original + doassert supersnappy.uncompress(snappy.encode(original)) == original + echo "pass!"