Mercurial > hg > octave-kai > gnulib-hg
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; }