]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/tests/libntp/g_hextoint.cpp
Fix a regression with SA-15:24 patch that prevented NIS from
[FreeBSD/releng/10.2.git] / contrib / ntp / tests / libntp / g_hextoint.cpp
1 #include "g_libntptest.h"
2
3 class hextointTest : public libntptest {
4 };
5
6 TEST_F(hextointTest, SingleDigit) {
7         const char *str = "a"; // 10 decimal
8         u_long actual;
9
10         ASSERT_TRUE(hextoint(str, &actual));
11         EXPECT_EQ(10, actual);
12 }
13
14 TEST_F(hextointTest, MultipleDigits) {
15         const char *str = "8F3"; // 2291 decimal
16         u_long actual;
17
18         ASSERT_TRUE(hextoint(str, &actual));
19         EXPECT_EQ(2291, actual);
20 }
21
22 TEST_F(hextointTest, MaxUnsigned) {
23         const char *str = "ffffffff"; // 4294967295 decimal
24         u_long actual;
25
26         ASSERT_TRUE(hextoint(str, &actual));
27         EXPECT_EQ(4294967295UL, actual);
28 }
29
30 TEST_F(hextointTest, Overflow) {
31         const char *str = "100000000"; // Overflow by 1
32         u_long actual;
33
34         ASSERT_FALSE(hextoint(str, &actual));
35 }
36
37 TEST_F(hextointTest, IllegalChar) {
38         const char *str = "5gb"; // Illegal character g
39         u_long actual;
40
41         ASSERT_FALSE(hextoint(str, &actual));
42 }