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