Blame gnulib-tests/test-xstrtol.sh

Packit Service fdd496
#!/bin/sh
Packit Service fdd496
: ${srcdir=.}
Packit Service fdd496
. "$srcdir/init.sh"; path_prepend_ .
Packit Service fdd496
Packit Service fdd496
too_big=99999999999999999999999999999999999999999999999999999999999999999999
Packit Service fdd496
result=0
Packit Service fdd496
Packit Service fdd496
# test xstrtol
Packit Service fdd496
test-xstrtol 1 >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtol -1 >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtol 1k >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtol ${too_big}h >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtol $too_big >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtol x >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtol 9x >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtol 010 >> out 2>&1 || result=1
Packit Service fdd496
# suffix without integer is valid
Packit Service fdd496
test-xstrtol MiB >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtol 1bB >> out 2>&1 && result=1
Packit Service fdd496
Packit Service fdd496
# test xstrtoul
Packit Service fdd496
test-xstrtoul 1 >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtoul -1 >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtoul 1k >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtoul ${too_big}h >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtoul $too_big >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtoul x >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtoul 9x >> out 2>&1 && result=1
Packit Service fdd496
test-xstrtoul 010 >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtoul MiB >> out 2>&1 || result=1
Packit Service fdd496
test-xstrtoul 1bB >> out 2>&1 && result=1
Packit Service fdd496
Packit Service fdd496
# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
Packit Service fdd496
# does not understand '\r'.
Packit Service fdd496
if echo solaris | tr -d '\r' | grep solais > /dev/null; then
Packit Service fdd496
  cr='\015'
Packit Service fdd496
else
Packit Service fdd496
  cr='\r'
Packit Service fdd496
fi
Packit Service fdd496
Packit Service fdd496
# normalize output
Packit Service fdd496
LC_ALL=C tr -d "$cr" < out > k
Packit Service fdd496
mv k out
Packit Service fdd496
Packit Service fdd496
# compare expected output
Packit Service fdd496
cat > expected <
Packit Service fdd496
1->1 ()
Packit Service fdd496
-1->-1 ()
Packit Service fdd496
1k->1024 ()
Packit Service fdd496
invalid suffix in X argument '${too_big}h'
Packit Service fdd496
X argument '$too_big' too large
Packit Service fdd496
invalid X argument 'x'
Packit Service fdd496
invalid suffix in X argument '9x'
Packit Service fdd496
010->8 ()
Packit Service fdd496
MiB->1048576 ()
Packit Service fdd496
invalid suffix in X argument '1bB'
Packit Service fdd496
1->1 ()
Packit Service fdd496
invalid X argument '-1'
Packit Service fdd496
1k->1024 ()
Packit Service fdd496
invalid suffix in X argument '${too_big}h'
Packit Service fdd496
X argument '$too_big' too large
Packit Service fdd496
invalid X argument 'x'
Packit Service fdd496
invalid suffix in X argument '9x'
Packit Service fdd496
010->8 ()
Packit Service fdd496
MiB->1048576 ()
Packit Service fdd496
invalid suffix in X argument '1bB'
Packit Service fdd496
EOF
Packit Service fdd496
Packit Service fdd496
compare expected out || result=1
Packit Service fdd496
Packit Service fdd496
Exit $result