1298770Sdelphij#include "config.h" 2298770Sdelphij 3298770Sdelphij#include "ntp_stdlib.h" 4298770Sdelphij#include "isc/string.h" 5298770Sdelphij 6298770Sdelphij#include "unity.h" 7298770Sdelphij 8298770Sdelphij/* Basisc test for timingsafe_memcmp() */ 9298770Sdelphij 10298770Sdelphijvoid test_Empty(void); 11298770Sdelphijvoid test_Equal(void); 12298770Sdelphijvoid test_FirstByte(void); 13298770Sdelphijvoid test_LastByte(void); 14298770Sdelphijvoid test_MiddleByte(void); 15298770Sdelphijvoid test_MiddleByteUpLo(void); 16298770Sdelphij 17298770Sdelphijvoid test_Empty(void) 18298770Sdelphij{ 19298770Sdelphij static const char dummy[1]; 20298770Sdelphij TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(NULL , NULL , 0)); 21298770Sdelphij TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(dummy, dummy, 0)); 22298770Sdelphij} 23298770Sdelphij 24298770Sdelphijvoid test_Equal(void) 25298770Sdelphij{ 26298770Sdelphij static const char dummy[2][4] = { 27298770Sdelphij "blob", "blob" 28298770Sdelphij }; 29298770Sdelphij TEST_ASSERT_EQUAL_INT(0, isc_tsmemcmp(dummy[0], 30298770Sdelphij dummy[1], 31298770Sdelphij sizeof(dummy[0]))); 32298770Sdelphij} 33298770Sdelphij 34298770Sdelphijvoid test_FirstByte(void) 35298770Sdelphij{ 36298770Sdelphij static const char dummy[2][4] = { 37298770Sdelphij "Blob", "Clob" 38298770Sdelphij }; 39298770Sdelphij TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0], 40298770Sdelphij dummy[1], 41298770Sdelphij sizeof(dummy[0]))); 42298770Sdelphij TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1], 43298770Sdelphij dummy[0], 44298770Sdelphij sizeof(dummy[0]))); 45298770Sdelphij} 46298770Sdelphij 47298770Sdelphijvoid test_LastByte(void) 48298770Sdelphij{ 49298770Sdelphij static const char dummy[2][4] = { 50298770Sdelphij "Blob", "Bloc" 51298770Sdelphij }; 52298770Sdelphij TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0], 53298770Sdelphij dummy[1], 54298770Sdelphij sizeof(dummy[0]))); 55298770Sdelphij TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1], 56298770Sdelphij dummy[0], 57298770Sdelphij sizeof(dummy[0]))); 58298770Sdelphij} 59298770Sdelphij 60298770Sdelphijvoid test_MiddleByte(void) 61298770Sdelphij{ 62298770Sdelphij static const char dummy[2][4] = { 63298770Sdelphij "Blob", "Blpb" 64298770Sdelphij }; 65298770Sdelphij TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0], 66298770Sdelphij dummy[1], 67298770Sdelphij sizeof(dummy[0]))); 68298770Sdelphij TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1], 69298770Sdelphij dummy[0], 70298770Sdelphij sizeof(dummy[0]))); 71298770Sdelphij} 72298770Sdelphij 73298770Sdelphijvoid test_MiddleByteUpLo(void) 74298770Sdelphij{ 75298770Sdelphij static const char dummy[2][4] = { 76298770Sdelphij "Blob", "Blpa" 77298770Sdelphij }; 78298770Sdelphij TEST_ASSERT_EQUAL_INT(-1, isc_tsmemcmp(dummy[0], 79298770Sdelphij dummy[1], 80298770Sdelphij sizeof(dummy[0]))); 81298770Sdelphij TEST_ASSERT_EQUAL_INT( 1, isc_tsmemcmp(dummy[1], 82298770Sdelphij dummy[0], 83298770Sdelphij sizeof(dummy[0]))); 84298770Sdelphij} 85298770Sdelphij 86