Mercurial > hg > octave-lojdl > gnulib-hg
annotate tests/test-gc-md2.c @ 8891:633babea5f62
Unconditionally include <config.h> in unit tests.
* tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
* tests/test-allocsa.c, tests/test-arcfour.c,
tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
tests/test-array_list.c, tests/test-array_oset.c,
tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
test-avltreehash_list.c, test-base64.c, test-binary-io.c,
test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
test-md5.c, test-memmem.c, test-printf-posix.c,
test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
test-strcasestr.c, test-striconv.c, test-striconveh.c,
test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
test-vasnprintf-posix2.c, test-vasnprintf.c,
test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
test-vfprintf-posix.c, test-vprintf-posix.c,
test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
test-xvasprintf.c: Likewise.
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Mon, 28 May 2007 16:49:41 +0000 |
parents | fca6cdd9520b |
children | e8d2c6fc33ad |
rev | line source |
---|---|
6431 | 1 /* |
2 * Copyright (C) 2005 Free Software Foundation | |
3 * Written by Simon Josefsson | |
4 * | |
5 * This program is free software; you can redistribute it and/or modify | |
6 * it under the terms of the GNU General Public License as published by | |
7 * the Free Software Foundation; either version 2, or (at your option) | |
8 * any later version. | |
9 * | |
10 * This program is distributed in the hope that it will be useful, | |
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 * GNU General Public License for more details. | |
14 * | |
15 * You should have received a copy of the GNU General Public License | |
16 * along with this program; if not, write to the Free Software | |
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | |
18 * 02110-1301, USA. */ | |
19 | |
8891
633babea5f62
Unconditionally include <config.h> in unit tests.
Eric Blake <ebb9@byu.net>
parents:
6436
diff
changeset
|
20 #include <config.h> |
6431 | 21 |
22 #include <stdio.h> | |
23 #include <string.h> | |
24 #include "gc.h" | |
25 | |
26 int | |
27 main (int argc, char *argv[]) | |
28 { | |
29 Gc_rc rc; | |
30 gc_hash_handle h; | |
31 | |
32 rc = gc_init (); | |
33 if (rc != GC_OK) | |
34 { | |
35 printf ("gc_init() failed\n"); | |
36 return 1; | |
37 } | |
38 | |
39 /* Test vectors from RFC 1319. */ | |
40 | |
41 { | |
42 char *in = "abcdefghijklmnopqrstuvwxyz"; | |
43 size_t inlen = strlen (in); | |
44 char *expect = | |
45 "\x4e\x8d\xdf\xf3\x65\x02\x92\xab\x5a\x41\x08\xc3\xaa\x47\x94\x0b"; | |
46 char out[16]; | |
47 const char *p; | |
48 | |
49 if (gc_md2 (in, inlen, out) != 0) | |
50 { | |
51 printf ("gc_md2 call failed\n"); | |
52 return 1; | |
53 } | |
54 | |
55 if (memcmp (out, expect, 16) != 0) | |
56 { | |
57 size_t i; | |
6436
fca6cdd9520b
Fix typos in comment, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
Simon Josefsson <simon@josefsson.org>
parents:
6431
diff
changeset
|
58 printf ("md2 1 mismatch. expected:\n"); |
6431 | 59 for (i = 0; i < 16; i++) |
60 printf ("%02x ", expect[i] & 0xFF); | |
61 printf ("\ncomputed:\n"); | |
62 for (i = 0; i < 16; i++) | |
63 printf ("%02x ", out[i] & 0xFF); | |
64 printf ("\n"); | |
65 return 1; | |
66 } | |
67 | |
68 if (gc_hash_buffer (GC_MD2, in, inlen, out) != 0) | |
69 { | |
70 printf ("gc_hash_buffer(MD2) call failed\n"); | |
71 return 1; | |
72 } | |
73 | |
74 if (memcmp (out, expect, 16) != 0) | |
75 { | |
76 size_t i; | |
6436
fca6cdd9520b
Fix typos in comment, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
Simon Josefsson <simon@josefsson.org>
parents:
6431
diff
changeset
|
77 printf ("md2 2 mismatch. expected:\n"); |
6431 | 78 for (i = 0; i < 16; i++) |
79 printf ("%02x ", expect[i] & 0xFF); | |
80 printf ("\ncomputed:\n"); | |
81 for (i = 0; i < 16; i++) | |
82 printf ("%02x ", out[i] & 0xFF); | |
83 printf ("\n"); | |
84 return 1; | |
85 } | |
86 | |
87 if (gc_hash_digest_length (GC_MD2) != 16) | |
88 { | |
89 printf ("gc_hash_digest_length (GC_MD2) failed\n"); | |
90 return 1; | |
91 } | |
92 | |
93 if ((rc = gc_hash_open (GC_MD2, 0, &h)) != GC_OK) | |
94 { | |
95 printf ("gc_hash_open(GC_MD2) failed (%d)\n", rc); | |
96 return 1; | |
97 } | |
98 | |
99 gc_hash_write (h, inlen, in); | |
100 | |
101 p = gc_hash_read (h); | |
102 | |
103 if (!p) | |
104 { | |
105 printf ("gc_hash_read failed\n"); | |
106 return 1; | |
107 } | |
108 | |
109 if (memcmp (p, expect, 16) != 0) | |
110 { | |
111 size_t i; | |
6436
fca6cdd9520b
Fix typos in comment, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
Simon Josefsson <simon@josefsson.org>
parents:
6431
diff
changeset
|
112 printf ("md2 3 mismatch. expected:\n"); |
6431 | 113 for (i = 0; i < 16; i++) |
114 printf ("%02x ", expect[i] & 0xFF); | |
115 printf ("\ncomputed:\n"); | |
116 for (i = 0; i < 16; i++) | |
117 printf ("%02x ", p[i] & 0xFF); | |
118 printf ("\n"); | |
119 return 1; | |
120 } | |
121 | |
122 gc_hash_close (h); | |
123 } | |
124 | |
125 gc_done (); | |
126 | |
127 return 0; | |
128 } |