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