add packaging
[platform/upstream/nettle.git] / testsuite / md5-compat-test.c
1 #include "testutils.h"
2 #include "md5-compat.h"
3
4 void
5 test_main(void)
6 {
7   MD5_CTX ctx;
8   unsigned char digest[MD5_DIGEST_SIZE];
9
10   MD5Init(&ctx);
11   MD5Final(digest, &ctx);
12   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
13                H("D41D8CD98F00B204 E9800998ECF8427E")));
14
15   MD5Init(&ctx);
16   MD5Update(&ctx, "a", 1);
17   MD5Final(digest, &ctx);
18   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
19                H("0CC175B9C0F1B6A8 31C399E269772661")));
20
21   MD5Init(&ctx);
22   MD5Update(&ctx, "abc", 3);
23   MD5Final(digest, &ctx);
24   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
25                H("900150983cd24fb0 D6963F7D28E17F72")));
26
27   MD5Init(&ctx);
28   MD5Update(&ctx, "message digest", 14);
29   MD5Final(digest, &ctx);
30   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
31                H("F96B697D7CB7938D 525A2F31AAF161D0")));
32
33   MD5Init(&ctx);
34   MD5Update(&ctx, "abcdefghijklmnopqrstuvwxyz", 26);
35   MD5Final(digest, &ctx);
36   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
37                H("C3FCD3D76192E400 7DFB496CCA67E13B")));
38
39   MD5Init(&ctx);
40   MD5Update(&ctx, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", 62);
41   MD5Final(digest, &ctx);
42   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
43                H("D174AB98D277D9F5 A5611C2C9F419D9F")));
44
45   MD5Init(&ctx);
46   MD5Update(&ctx, "1234567890123456789012345678901234567890"
47             "1234567890123456789012345678901234567890",
48             80);
49   MD5Final(digest, &ctx);
50   ASSERT(MEMEQ(MD5_DIGEST_SIZE, digest,
51                H("57EDF4A22BE3C955 AC49DA2E2107B67A")));
52 }