Mercurial > gnulib
view tests/test-xstrtoimax.sh @ 40216:02ed6264c100
strfmon_l: Fix -fsanitize=address finding.
* lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
<string.h>.
(MAX_ARGS): Renamed from MAX_ARG_WORDS.
(directive_t, directives_t): New types.
(fmon_parse): New function.
(rpl_strfmon_l): Don't call va_arg more often than needed for the
format string. Consume 'long double' arguments in places where the
format string indicates so.
* modules/strfmon_l (Depends-on): Add 'stdbool'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 09 Mar 2019 23:30:40 +0100 |
parents | f9b906545e2f |
children | 8c1a17df67e0 |
line wrap: on
line source
#!/bin/sh : ${srcdir=.} . "$srcdir/init.sh"; path_prepend_ . too_big=99999999999999999999999999999999999999999999999999999999999999999999 result=0 # test xstrtoimax test-xstrtoimax 1 >> out 2>&1 || result=1 test-xstrtoimax -1 >> out 2>&1 || result=1 test-xstrtoimax 1k >> out 2>&1 || result=1 test-xstrtoimax ${too_big}h >> out 2>&1 && result=1 test-xstrtoimax $too_big >> out 2>&1 && result=1 test-xstrtoimax x >> out 2>&1 && result=1 test-xstrtoimax 9x >> out 2>&1 && result=1 test-xstrtoimax 010 >> out 2>&1 || result=1 test-xstrtoimax MiB >> out 2>&1 || result=1 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr # does not understand '\r'. if echo solaris | tr -d '\r' | grep solais > /dev/null; then cr='\015' else cr='\r' fi # normalize output LC_ALL=C tr -d "$cr" < out > k mv k out # compare expected output cat > exp <<EOF 1->1 () -1->-1 () 1k->1024 () invalid suffix in X argument '${too_big}h' X argument '$too_big' too large invalid X argument 'x' invalid suffix in X argument '9x' 010->8 () MiB->1048576 () EOF compare exp out || result=1 Exit $result