]> CyberLeo.Net >> Repos - FreeBSD/releng/9.3.git/blob - contrib/ntp/tests/libntp/octtoint.c
o Fix invalid TCP checksums with pf(4). [EN-16:02.pf]
[FreeBSD/releng/9.3.git] / contrib / ntp / tests / libntp / octtoint.c
1 #include "config.h"
2
3 #include "ntp_stdlib.h"
4
5 #include "unity.h"
6
7
8 void test_SingleDigit(void);
9 void test_MultipleDigits(void);
10 void test_Zero(void);
11 void test_MaximumUnsigned32bit(void);
12 void test_Overflow(void);
13 void test_IllegalCharacter(void);
14 void test_IllegalDigit(void);
15
16
17 void
18 test_SingleDigit(void)
19 {
20         const char* str = "5";
21         u_long actual;
22
23         TEST_ASSERT_TRUE(octtoint(str, &actual));
24         TEST_ASSERT_EQUAL(5, actual);
25
26         return;
27 }
28
29 void
30 test_MultipleDigits(void)
31 {
32         const char* str = "271";
33         u_long actual;
34
35         TEST_ASSERT_TRUE(octtoint(str, &actual));
36         TEST_ASSERT_EQUAL(185, actual);
37
38         return;
39 }
40
41 void
42 test_Zero(void)
43 {
44         const char* str = "0";
45         u_long actual;
46
47         TEST_ASSERT_TRUE(octtoint(str, &actual));
48         TEST_ASSERT_EQUAL(0, actual);
49
50         return;
51 }
52
53 void
54 test_MaximumUnsigned32bit(void)
55 {
56         const char* str = "37777777777";
57         u_long actual;
58
59         TEST_ASSERT_TRUE(octtoint(str, &actual));
60         TEST_ASSERT_EQUAL(4294967295UL, actual);
61
62         return;
63 }
64
65 void
66 test_Overflow(void)
67 {
68         const char* str = "40000000000";
69         u_long actual;
70
71         TEST_ASSERT_FALSE(octtoint(str, &actual));
72
73         return;
74 }
75
76 void
77 test_IllegalCharacter(void)
78 {
79         const char* str = "5ac2";
80         u_long actual;
81
82         TEST_ASSERT_FALSE(octtoint(str, &actual));
83
84         return;
85 }
86
87 void
88 test_IllegalDigit(void)
89 {
90         const char* str = "5283";
91         u_long actual;
92
93         TEST_ASSERT_FALSE(octtoint(str, &actual));
94
95         return;
96 }