1*cdfa2a7eSchristos /* $NetBSD: atouint.c,v 1.2 2020/05/25 20:47:36 christos Exp $ */ 2067f5680Schristos 3f17b710fSchristos #include "config.h" 4f17b710fSchristos 5f17b710fSchristos #include "ntp_stdlib.h" 6f17b710fSchristos #include "ntp_calendar.h" 7f17b710fSchristos #include "ntp_fp.h" 8f17b710fSchristos 9f17b710fSchristos #include "unity.h" 10f17b710fSchristos 11a6f3f22fSchristos void test_RegularPositive(void); 12a6f3f22fSchristos void test_PositiveOverflowBoundary(void); 13a6f3f22fSchristos void test_PositiveOverflowBig(void); 14a6f3f22fSchristos void test_Negative(void); 15a6f3f22fSchristos void test_IllegalChar(void); 16a6f3f22fSchristos 17a6f3f22fSchristos 18a6f3f22fSchristos test_RegularPositive(void)19a6f3f22fSchristosvoid test_RegularPositive(void) { 20f17b710fSchristos const char *str = "305"; 21f17b710fSchristos u_long actual; 22f17b710fSchristos 23f17b710fSchristos TEST_ASSERT_TRUE(atouint(str, &actual)); 24f17b710fSchristos TEST_ASSERT_EQUAL(305, actual); 25f17b710fSchristos } 26f17b710fSchristos test_PositiveOverflowBoundary(void)27a6f3f22fSchristosvoid test_PositiveOverflowBoundary(void) { 28f17b710fSchristos const char *str = "4294967296"; 29f17b710fSchristos u_long actual; 30f17b710fSchristos 31f17b710fSchristos TEST_ASSERT_FALSE(atouint(str, &actual)); 32f17b710fSchristos } 33f17b710fSchristos test_PositiveOverflowBig(void)34a6f3f22fSchristosvoid test_PositiveOverflowBig(void) { 35f17b710fSchristos const char *str = "8000000000"; 36f17b710fSchristos u_long actual; 37f17b710fSchristos 38f17b710fSchristos TEST_ASSERT_FALSE(atouint(str, &actual)); 39f17b710fSchristos } 40f17b710fSchristos test_Negative(void)41a6f3f22fSchristosvoid test_Negative(void) { 42f17b710fSchristos const char *str = "-1"; 43f17b710fSchristos u_long actual; 44f17b710fSchristos 45f17b710fSchristos TEST_ASSERT_FALSE(atouint(str, &actual)); 46f17b710fSchristos } 47f17b710fSchristos test_IllegalChar(void)48a6f3f22fSchristosvoid test_IllegalChar(void) { 49f17b710fSchristos const char *str = "50c3"; 50f17b710fSchristos u_long actual; 51f17b710fSchristos 52f17b710fSchristos TEST_ASSERT_FALSE(atouint(str, &actual)); 53f17b710fSchristos } 54