]> mj.ucw.cz Git - libucw.git/commitdiff
MD5: Test suite
authorMartin Mares <mj@ucw.cz>
Tue, 30 Oct 2012 20:27:25 +0000 (21:27 +0100)
committerMartin Mares <mj@ucw.cz>
Tue, 30 Oct 2012 20:27:25 +0000 (21:27 +0100)
ucw/Makefile
ucw/md5.c

index a09bd1fbdf09f6ef7d63b6cfee697a5ea057b810..9820d441489dc096de3fd91de330a503345a03ff 100644 (file)
@@ -117,7 +117,7 @@ TESTS+=$(addprefix $(o)/ucw/,regex.test unicode.test hash-test.test mempool.test
     fb-socket.test trie-test.test string.test sha1.test asort-test.test binheap-test.test \
     redblack-test.test fb-file.test fb-grow.test fb-pool.test fb-atomic.test \
     fb-limfd.test fb-temp.test fb-mem.test fb-buffer.test fb-mmap.test fb-multi.test url.test strtonum-test.test \
-    gary.test time.test crc.test)
+    gary.test time.test crc.test md5.test)
 
 $(o)/ucw/regex.test: $(o)/ucw/regex-t
 $(o)/ucw/unicode.test: $(o)/ucw/unicode-t
@@ -145,6 +145,7 @@ $(o)/ucw/gary.test: $(o)/ucw/gary-t
 $(o)/ucw/time.test: $(o)/ucw/time-conf-t
 $(o)/ucw/crc.test: $(o)/ucw/crc-t
 $(o)/ucw/signames.test: $(o)/ucw/signames-t
+$(o)/ucw/md5.test: $(o)/ucw/md5-t
 
 ifdef CONFIG_UCW_THREADS
 TESTS+=$(addprefix $(o)/ucw/,asio.test)
index b04278bc4b0b3c3f4ed382af9d38f0d94076bbee..3f8384ba8cc43036826018ddbcda29110b7fee2d 100644 (file)
--- a/ucw/md5.c
+++ b/ucw/md5.c
@@ -252,3 +252,28 @@ void md5_hash_buffer(byte *outbuf, const byte *buffer, uns length)
   md5_update(&c, buffer, length);
   memcpy(outbuf, md5_final(&c), MD5_SIZE);
 }
+
+#ifdef TEST
+
+#include <stdio.h>
+#include <unistd.h>
+#include <ucw/string.h>
+
+int main(void)
+{
+  md5_context hd;
+  byte buf[3];
+  int cnt;
+
+  md5_init(&hd);
+  while ((cnt = read(0, buf, sizeof(buf))) > 0)
+    md5_update(&hd, buf, cnt);
+
+  char text[MD5_HEX_SIZE];
+  mem_to_hex(text, md5_final(&hd), MD5_SIZE, 0);
+  puts(text);
+
+  return 0;
+}
+
+#endif