From: Bruno Haible Date: Thu, 5 Jan 2012 17:51:23 +0000 (+0100) Subject: strtoumax tests: Enhance tests. X-Git-Tag: v0.1~1295 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=f40e1532834adc754cac576a07d43b9556f89a97;p=gnulib.git strtoumax tests: Enhance tests. * tests/test-strtoumax.c (main): Add tests for large values. --- diff --git a/ChangeLog b/ChangeLog index a4e01bf56..6dd43447f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-01-05 Bruno Haible + strtoumax tests: Enhance tests. + * tests/test-strtoumax.c (main): Add tests for large values. + +2012-01-05 Bruno Haible + strtoimax: Work around AIX 5.1 bug. * lib/inttypes.in.h (strtoimax): Allow overriding the system's definition. diff --git a/tests/test-strtoumax.c b/tests/test-strtoumax.c index c6811d4a1..2577b0ca8 100644 --- a/tests/test-strtoumax.c +++ b/tests/test-strtoumax.c @@ -144,5 +144,37 @@ main (void) 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; }