xref: /netbsd-src/external/bsd/ntp/dist/tests/libntp/tsafememcmp.c (revision cdfa2a7ef92791ba9db70a584a1d904730e6fb46)
1 /*	$NetBSD: tsafememcmp.c,v 1.2 2020/05/25 20:47:36 christos Exp $	*/
2 
3 #include "config.h"
4 
5 #include "ntp_stdlib.h"
6 #include "isc/string.h"
7 
8 #include "unity.h"
9 
10 /* Basisc test for timingsafe_memcmp() */
11 
12 void test_Empty(void);
13 void test_Equal(void);
14 void test_FirstByte(void);
15 void test_LastByte(void);
16 void test_MiddleByte(void);
17 void test_MiddleByteUpLo(void);
18 
test_Empty(void)19 void test_Empty(void)
20 {
21 	static const char dummy[1];
22 	TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(NULL , NULL , 0));
23 	TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(dummy, dummy, 0));
24 }
25 
test_Equal(void)26 void test_Equal(void)
27 {
28 	static const char dummy[2][4] = {
29 		"blob", "blob"
30 	};
31 	TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(dummy[0],
32 					      dummy[1],
33 					      sizeof(dummy[0])));
34 }
35 
test_FirstByte(void)36 void test_FirstByte(void)
37 {
38 	static const char dummy[2][4] = {
39 		"Blob", "Clob"
40 	};
41 	TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0],
42 					       dummy[1],
43 					       sizeof(dummy[0])));
44 	TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1],
45 					       dummy[0],
46 					       sizeof(dummy[0])));
47 }
48 
test_LastByte(void)49 void test_LastByte(void)
50 {
51 	static const char dummy[2][4] = {
52 		"Blob", "Bloc"
53 	};
54 	TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0],
55 					       dummy[1],
56 					       sizeof(dummy[0])));
57 	TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1],
58 					       dummy[0],
59 					       sizeof(dummy[0])));
60 }
61 
test_MiddleByte(void)62 void test_MiddleByte(void)
63 {
64 	static const char dummy[2][4] = {
65 		"Blob", "Blpb"
66 	};
67 	TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0],
68 					       dummy[1],
69 					       sizeof(dummy[0])));
70 	TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1],
71 					       dummy[0],
72 					       sizeof(dummy[0])));
73 }
74 
test_MiddleByteUpLo(void)75 void test_MiddleByteUpLo(void)
76 {
77 	static const char dummy[2][4] = {
78 		"Blob", "Blpa"
79 	};
80 	TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0],
81 					       dummy[1],
82 					       sizeof(dummy[0])));
83 	TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1],
84 					       dummy[0],
85 					       sizeof(dummy[0])));
86 }
87 
88