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