Branch data Line data Source code
1 : : /*
2 : : * Copyright (C) 2010 Joel Rosdahl
3 : : *
4 : : * This program is free software; you can redistribute it and/or modify it
5 : : * under the terms of the GNU General Public License as published by the Free
6 : : * Software Foundation; either version 3 of the License, or (at your option)
7 : : * any later version.
8 : : *
9 : : * This program is distributed in the hope that it will be useful, but WITHOUT
10 : : * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 : : * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 : : * more details.
13 : : *
14 : : * You should have received a copy of the GNU General Public License along with
15 : : * this program; if not, write to the Free Software Foundation, Inc., 51
16 : : * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 : : */
18 : :
19 : : /*
20 : : * This file contains tests for functions in hash.c.
21 : : */
22 : :
23 : : #include "ccache.h"
24 : : #include "test/framework.h"
25 : :
26 : 1 : TEST_SUITE(hash)
27 : :
28 [ + - ]: 1 : TEST(test_vectors_from_rfc_1320_should_be_correct)
29 : : {
30 : : struct mdfour h;
31 : :
32 : 1 : hash_start(&h);
33 : 1 : hash_string(&h, "");
34 [ - + ]: 1 : CHECK_STR_EQ_FREE2("31d6cfe0d16ae931b73c59d7e0c089c0-0", hash_result(&h));
35 : :
36 : 1 : hash_start(&h);
37 : 1 : hash_string(&h, "a");
38 [ - + ]: 1 : CHECK_STR_EQ_FREE2("bde52cb31de33e46245e05fbdbd6fb24-1", hash_result(&h));
39 : :
40 : 1 : hash_start(&h);
41 : 1 : hash_string(&h, "message digest");
42 [ - + ]: 1 : CHECK_STR_EQ_FREE2("d9130a8164549fe818874806e1c7014b-14", hash_result(&h));
43 : :
44 : 1 : hash_start(&h);
45 : 1 : hash_string(&h, "12345678901234567890123456789012345678901234567890123456789012345678901234567890");
46 [ - + ]: 1 : CHECK_STR_EQ_FREE2("e33b4ddc9c38f2199c3e7b164fcc0536-80", hash_result(&h));
47 : : }
48 : :
49 [ + - ]: 1 : TEST(hash_result_should_be_idempotent)
50 : : {
51 : : struct mdfour h;
52 : :
53 : 1 : hash_start(&h);
54 : 1 : hash_string(&h, "");
55 [ - + ]: 1 : CHECK_STR_EQ_FREE2("31d6cfe0d16ae931b73c59d7e0c089c0-0", hash_result(&h));
56 [ - + ]: 1 : CHECK_STR_EQ_FREE2("31d6cfe0d16ae931b73c59d7e0c089c0-0", hash_result(&h));
57 : : }
58 : :
59 : 1 : TEST_SUITE_END
|