summaryrefslogtreecommitdiff
path: root/tests/libntp/atouint.cpp
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2014-12-20 22:52:39 +0000
committerCy Schubert <cy@FreeBSD.org>2014-12-20 22:52:39 +0000
commitb5e14a1344528861a7016aa2c6b0f2e9630d1526 (patch)
treef04bed14f7e8aed5c0e9d2f7785175c7951036d3 /tests/libntp/atouint.cpp
parent2b45e011ca352ce509bc83ae148230aeee0c7e0d (diff)
Diffstat (limited to 'tests/libntp/atouint.cpp')
-rw-r--r--tests/libntp/atouint.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/libntp/atouint.cpp b/tests/libntp/atouint.cpp
new file mode 100644
index 000000000000..cc8cc394b840
--- /dev/null
+++ b/tests/libntp/atouint.cpp
@@ -0,0 +1,40 @@
+#include "libntptest.h"
+
+class atouintTest : public libntptest {
+};
+
+TEST_F(atouintTest, RegularPositive) {
+ const char *str = "305";
+ u_long actual;
+
+ ASSERT_TRUE(atouint(str, &actual));
+ EXPECT_EQ(305, actual);
+}
+
+TEST_F(atouintTest, PositiveOverflowBoundary) {
+ const char *str = "4294967296";
+ u_long actual;
+
+ ASSERT_FALSE(atouint(str, &actual));
+}
+
+TEST_F(atouintTest, PositiveOverflowBig) {
+ const char *str = "8000000000";
+ u_long actual;
+
+ ASSERT_FALSE(atouint(str, &actual));
+}
+
+TEST_F(atouintTest, Negative) {
+ const char *str = "-1";
+ u_long actual;
+
+ ASSERT_FALSE(atouint(str, &actual));
+}
+
+TEST_F(atouintTest, IllegalChar) {
+ const char *str = "50c3";
+ u_long actual;
+
+ ASSERT_FALSE(atouint(str, &actual));
+}