1 /* $NetBSD: refnumtoa.c,v 1.2 2020/05/25 20:47:36 christos Exp $ */ 2 3 #include "config.h" 4 5 #include "ntp_net.h" 6 #include "ntp_refclock.h" 7 8 #include "unity.h" 9 10 11 /* Might need to be updated if a new refclock gets this id. */ 12 static const int UNUSED_REFCLOCK_ID = 250; 13 14 void setUp(void); 15 void test_LocalClock(void); 16 void test_UnknownId(void); 17 18 19 void 20 setUp(void) 21 { 22 init_lib(); 23 24 return; 25 } 26 27 28 void 29 test_LocalClock(void) { 30 #ifdef REFCLOCK /* clockname() is useless otherwise */ 31 /* We test with a refclock address of type LOCALCLOCK. 32 * with id 8 33 */ 34 u_int32 addr = REFCLOCK_ADDR; 35 addr |= REFCLK_LOCALCLOCK << 8; 36 addr |= 0x8; 37 38 sockaddr_u address; 39 address.sa4.sin_family = AF_INET; 40 address.sa4.sin_addr.s_addr = htonl(addr); 41 42 char stringStart[100]= ""; 43 44 strcat(stringStart, clockname(REFCLK_LOCALCLOCK)); 45 strcat(stringStart, "(8)"); 46 47 char * expected = stringStart; 48 49 TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address)); 50 #else 51 TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST"); 52 #endif /* REFCLOCK */ 53 } 54 55 void 56 test_UnknownId(void) { 57 #ifdef REFCLOCK /* refnumtoa() is useless otherwise */ 58 /* We test with a currently unused refclock ID */ 59 u_int32 addr = REFCLOCK_ADDR; 60 addr |= UNUSED_REFCLOCK_ID << 8; 61 addr |= 0x4; 62 63 sockaddr_u address; 64 address.sa4.sin_family = AF_INET; 65 address.sa4.sin_addr.s_addr = htonl(addr); 66 67 char stringStart[100]= "REFCLK("; 68 char value[100] ; 69 snprintf(value, sizeof(value), "%d", UNUSED_REFCLOCK_ID); 70 strcat(stringStart,value); 71 strcat(stringStart,",4)"); 72 char * expected = stringStart; 73 74 TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address)); 75 #else 76 TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST"); 77 #endif /* REFCLOCK */ 78 } 79