Blame gnulib-tests/test-xstrtol.sh

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