freebsd-dev/contrib/ntp/tests/libntp/refnumtoa.c
Xin LI 3311ff84ea MFV r293415:
ntp 4.2.8p5

Reviewed by:	cy, roberto
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D4828
2016-01-08 15:53:48 +00:00

77 lines
1.6 KiB
C

#include "config.h"
#include "ntp_net.h"
#include "ntp_refclock.h"
#include "unity.h"
/* Might need to be updated if a new refclock gets this id. */
static const int UNUSED_REFCLOCK_ID = 250;
void setUp(void);
void test_LocalClock(void);
void test_UnknownId(void);
void
setUp(void)
{
init_lib();
return;
}
void
test_LocalClock(void) {
#ifdef REFCLOCK /* clockname() is useless otherwise */
/* We test with a refclock address of type LOCALCLOCK.
* with id 8
*/
u_int32 addr = REFCLOCK_ADDR;
addr |= REFCLK_LOCALCLOCK << 8;
addr |= 0x8;
sockaddr_u address;
address.sa4.sin_family = AF_INET;
address.sa4.sin_addr.s_addr = htonl(addr);
char stringStart[100]= "";
strcat(stringStart, clockname(REFCLK_LOCALCLOCK));
strcat(stringStart, "(8)");
char * expected = stringStart;
TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address));
#else
TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST");
#endif /* REFCLOCK */
}
void
test_UnknownId(void) {
#ifdef REFCLOCK /* refnumtoa() is useless otherwise */
/* We test with a currently unused refclock ID */
u_int32 addr = REFCLOCK_ADDR;
addr |= UNUSED_REFCLOCK_ID << 8;
addr |= 0x4;
sockaddr_u address;
address.sa4.sin_family = AF_INET;
address.sa4.sin_addr.s_addr = htonl(addr);
char stringStart[100]= "REFCLK(";
char value[100] ;
snprintf(value, sizeof(value), "%d", UNUSED_REFCLOCK_ID);
strcat(stringStart,value);
strcat(stringStart,",4)");
char * expected = stringStart;
TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address));
#else
TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST");
#endif /* REFCLOCK */
}