1#!/bin/sh 2: ${srcdir=.} 3. "$srcdir/init.sh"; path_prepend_ . 4 5too_big=99999999999999999999999999999999999999999999999999999999999999999999 6result=0 7 8# test xstrtoimax 9${CHECKER} test-xstrtoimax 1 >> out 2>&1 || result=1 10${CHECKER} test-xstrtoimax -1 >> out 2>&1 || result=1 11${CHECKER} test-xstrtoimax 1k >> out 2>&1 || result=1 12${CHECKER} test-xstrtoimax ${too_big}h >> out 2>&1 && result=1 13${CHECKER} test-xstrtoimax $too_big >> out 2>&1 && result=1 14${CHECKER} test-xstrtoimax x >> out 2>&1 && result=1 15${CHECKER} test-xstrtoimax 9x >> out 2>&1 && result=1 16${CHECKER} test-xstrtoimax 010 >> out 2>&1 || result=1 17${CHECKER} test-xstrtoimax MiB >> out 2>&1 || result=1 18 19# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr 20# does not understand '\r'. 21if echo solaris | tr -d '\r' | grep solais > /dev/null; then 22 cr='\015' 23else 24 cr='\r' 25fi 26 27# normalize output 28LC_ALL=C tr -d "$cr" < out > k 29mv k out 30 31# compare expected output 32cat > exp <<EOF 331->1 () 34-1->-1 () 351k->1024 () 36invalid suffix in X argument '${too_big}h' 37X argument '$too_big' too large 38invalid X argument 'x' 39invalid suffix in X argument '9x' 40010->8 () 41MiB->1048576 () 42EOF 43 44compare exp out || result=1 45 46Exit $result 47