Blame gnulib-tests/test-xstrtoimax.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 xstrtoimax
Packit 709fb3
test-xstrtoimax 1 >> out 2>&1 || result=1
Packit 709fb3
test-xstrtoimax -1 >> out 2>&1 || result=1
Packit 709fb3
test-xstrtoimax 1k >> out 2>&1 || result=1
Packit 709fb3
test-xstrtoimax ${too_big}h >> out 2>&1 && result=1
Packit 709fb3
test-xstrtoimax $too_big >> out 2>&1 && result=1
Packit 709fb3
test-xstrtoimax x >> out 2>&1 && result=1
Packit 709fb3
test-xstrtoimax 9x >> out 2>&1 && result=1
Packit 709fb3
test-xstrtoimax 010 >> out 2>&1 || result=1
Packit 709fb3
test-xstrtoimax MiB >> 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 > exp <
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
EOF
Packit 709fb3
Packit 709fb3
compare exp out || result=1
Packit 709fb3
Packit 709fb3
Exit $result