annotate tests/test-sha1.c @ 17921:58c1b50299a6

getopt: give accurate ambiguity diagnostic on mem exhaustion * lib/getopt.c (_getopt_internal_r): The previous commit broke out the loop too early, which could give a false indication of ambiguous options under memory exhaustion.
author Pádraig Brady <P@draigBrady.com>
date Wed, 18 Feb 2015 22:37:31 +0000
parents ab58d4870664
children e9738bb175fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
1 /*
17848
ab58d4870664 version-etc: new year
Paul Eggert <eggert@cs.ucla.edu>
parents: 17587
diff changeset
2 * Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
3 * Written by Simon Josefsson
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
4 *
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
5 * This program is free software: you can redistribute it and/or modify
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
7 * the Free Software Foundation; either version 3 of the License, or
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
8 * (at your option) any later version.
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
9 *
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
13 * GNU General Public License for more details.
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
14 *
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. */
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
17
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
18 #include <config.h>
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
19
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
20 #include <stdio.h>
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
21 #include <string.h>
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
22
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
23 #include "sha1.h"
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
24
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
25 int
12197
e45d9bb2233e tests: avoid several compiler warnings
Eric Blake <ebb9@byu.net>
parents: 11749
diff changeset
26 main (void)
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
27 {
11730
1bd4d344ee8d tests-sha1: don't assign literal string to 'char *' variable
Peter Simons <simons@cryp.to>
parents: 9664
diff changeset
28 const char *in1 = "abcdefgh";
1bd4d344ee8d tests-sha1: don't assign literal string to 'char *' variable
Peter Simons <simons@cryp.to>
parents: 9664
diff changeset
29 const char *out1 = "\x42\x5a\xf1\x2a\x07\x43\x50\x2b"
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
30 "\x32\x2e\x93\xa0\x15\xbc\xf8\x68\xe3\x24\xd5\x6a";
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
31 char buf[SHA1_DIGEST_SIZE];
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
32
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
33 if (memcmp (sha1_buffer (in1, strlen (in1), buf),
12421
e8d2c6fc33ad Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents: 12197
diff changeset
34 out1, SHA1_DIGEST_SIZE) != 0)
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
35 {
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
36 size_t i;
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
37 printf ("expected:\n");
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
38 for (i = 0; i < SHA1_DIGEST_SIZE; i++)
12421
e8d2c6fc33ad Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents: 12197
diff changeset
39 printf ("%02x ", out1[i] & 0xFF);
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
40 printf ("\ncomputed:\n");
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
41 for (i = 0; i < SHA1_DIGEST_SIZE; i++)
12421
e8d2c6fc33ad Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents: 12197
diff changeset
42 printf ("%02x ", buf[i] & 0xFF);
9664
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
43 printf ("\n");
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
44 return 1;
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
45 }
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
46
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
47 return 0;
24f06624c1ba Add sha1 self test.
Simon Josefsson <simon@josefsson.org>
parents:
diff changeset
48 }