changeset 16231:e8cde289d525

strtoumax tests: Enhance tests. * tests/test-strtoumax.c (main): Add tests for large values.
author Bruno Haible <bruno@clisp.org>
date Thu, 05 Jan 2012 18:51:23 +0100
parents f9e137049132
children ee328959515f
files ChangeLog tests/test-strtoumax.c
diffstat 2 files changed, 37 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-05  Bruno Haible  <bruno@clisp.org>
+
+	strtoumax tests: Enhance tests.
+	* tests/test-strtoumax.c (main): Add tests for large values.
+
 2012-01-05  Bruno Haible  <bruno@clisp.org>
 
 	strtoimax: Work around AIX 5.1 bug.
--- a/tests/test-strtoumax.c
+++ b/tests/test-strtoumax.c
@@ -144,5 +144,37 @@
     ASSERT (errno == 0);
   }
 
+  /* Large integer values.  */
+  {
+    const char input[] = "2147483647";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == 2147483647);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "-2147483648";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == - (uintmax_t) 2147483648U);
+    ASSERT (ptr == input + 11);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "4294967295";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == 4294967295U);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+
   return 0;
 }