1#!/bin/sh 2: ${srcdir=.} 3. "$srcdir/init.sh"; path_prepend_ . 4 5too_big=99999999999999999999999999999999999999999999999999999999999999999999 6result=0 7 8# test xstrtoumax 9test-xstrtoumax 1 >> out 2>&1 || result=1 10test-xstrtoumax -1 >> out 2>&1 && result=1 11test-xstrtoumax 1k >> out 2>&1 || result=1 12test-xstrtoumax ${too_big}h >> out 2>&1 && result=1 13test-xstrtoumax $too_big >> out 2>&1 && result=1 14test-xstrtoumax x >> out 2>&1 && result=1 15test-xstrtoumax 9x >> out 2>&1 && result=1 16test-xstrtoumax 010 >> out 2>&1 || result=1 17test-xstrtoumax 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 () 34invalid X argument '-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