]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/tests/libntp/refnumtoa.c
Upgrade NTP to 4.2.8p4.
[FreeBSD/releng/10.2.git] / contrib / ntp / tests / libntp / refnumtoa.c
1 #include "config.h"
2
3 #include "ntp_net.h"
4 #include "ntp_refclock.h"
5
6 #include "unity.h"
7
8
9 /* Might need to be updated if a new refclock gets this id. */
10 static const int UNUSED_REFCLOCK_ID = 250;
11
12 void test_LocalClock(void);
13 void test_UnknownId(void);
14
15
16 void
17 test_LocalClock(void) {
18 #ifdef REFCLOCK         /* clockname() is useless otherwise */
19         /* We test with a refclock address of type LOCALCLOCK.
20          * with id 8
21          */
22         u_int32 addr = REFCLOCK_ADDR;
23         addr |= REFCLK_LOCALCLOCK << 8;
24         addr |= 0x8;
25
26         sockaddr_u address;
27         address.sa4.sin_family = AF_INET;
28         address.sa4.sin_addr.s_addr = htonl(addr);
29         
30         char stringStart[100]= "";
31
32         strcat(stringStart, clockname(REFCLK_LOCALCLOCK));
33         strcat(stringStart, "(8)");
34
35         char * expected = stringStart;
36
37         TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address));
38 #else   
39         TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST");
40 #endif  /* REFCLOCK */
41 }
42
43 void
44 test_UnknownId(void) {
45 #ifdef REFCLOCK         /* refnumtoa() is useless otherwise */
46         /* We test with a currently unused refclock ID */
47         u_int32 addr = REFCLOCK_ADDR;
48         addr |= UNUSED_REFCLOCK_ID << 8;
49         addr |= 0x4;
50
51         sockaddr_u address;
52         address.sa4.sin_family = AF_INET;
53         address.sa4.sin_addr.s_addr = htonl(addr);
54         
55         char stringStart[100]= "REFCLK(";
56         char value[100] ;       
57         snprintf(value, sizeof(value), "%d", UNUSED_REFCLOCK_ID);
58         strcat(stringStart,value);
59         strcat(stringStart,",4)");
60         char * expected = stringStart;
61
62         TEST_ASSERT_EQUAL_STRING(expected, refnumtoa(&address));
63 #else   
64         TEST_IGNORE_MESSAGE("REFCLOCK NOT DEFINED, SKIPPING TEST");
65 #endif  /* REFCLOCK */
66 }