digests, copy-file: increase the IO buffer size from 4KiB to 32KiB
[gnulib.git] / tests / test-xstrtoumax.sh
1 #!/bin/sh
2
3 tmpfiles=""
4 trap 'rm -fr $tmpfiles' 1 2 3 15
5
6 tmpfiles="t-xstrtoumax.tmp t-xstrtoumax.xo"
7 : > t-xstrtoumax.tmp
8 too_big=99999999999999999999999999999999999999999999999999999999999999999999
9 result=0
10
11 # test xstrtoumax
12 ./test-xstrtoumax${EXEEXT} 1 >> t-xstrtoumax.tmp 2>&1 || result=1
13 ./test-xstrtoumax${EXEEXT} -1 >> t-xstrtoumax.tmp 2>&1 && result=1
14 ./test-xstrtoumax${EXEEXT} 1k >> t-xstrtoumax.tmp 2>&1 || result=1
15 ./test-xstrtoumax${EXEEXT} ${too_big}h >> t-xstrtoumax.tmp 2>&1 && result=1
16 ./test-xstrtoumax${EXEEXT} $too_big >> t-xstrtoumax.tmp 2>&1 && result=1
17 ./test-xstrtoumax${EXEEXT} x >> t-xstrtoumax.tmp 2>&1 && result=1
18 ./test-xstrtoumax${EXEEXT} 9x >> t-xstrtoumax.tmp 2>&1 && result=1
19 ./test-xstrtoumax${EXEEXT} 010 >> t-xstrtoumax.tmp 2>&1 || result=1
20 ./test-xstrtoumax${EXEEXT} MiB >> t-xstrtoumax.tmp 2>&1 || result=1
21
22 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
23 # does not understand '\r'.
24 if echo solaris | tr -d '\r' | grep solais > /dev/null; then
25   cr='\015'
26 else
27   cr='\r'
28 fi
29
30 # normalize output
31 LC_ALL=C tr -d "$cr" < t-xstrtoumax.tmp > t-xstrtoumax.xo
32 mv t-xstrtoumax.xo t-xstrtoumax.tmp
33
34 # compare expected output
35 cat > t-xstrtoumax.xo <<EOF
36 1->1 ()
37 invalid X argument \`-1'
38 1k->1024 ()
39 invalid suffix in X argument \`${too_big}h'
40 X argument \`$too_big' too large
41 invalid X argument \`x'
42 invalid suffix in X argument \`9x'
43 010->8 ()
44 MiB->1048576 ()
45 EOF
46
47 diff t-xstrtoumax.xo t-xstrtoumax.tmp || result=1
48
49 rm -fr $tmpfiles
50
51 exit $result