0002-printf.sh (556B)
1 #!/bin/sh 2 3 set -e 4 5 res1=tmp1.$$ 6 res2=tmp2.$$ 7 8 cleanup() 9 { 10 st=$? 11 rm -f $res1 $res2 12 exit $st 13 } 14 15 trap cleanup EXIT 16 17 ( 18 ../printf '123\n' 19 ../printf '%d\n' 20 ../printf '%b' 'foo\nbar\n' 21 22 # Two flags used simulatenously, + and 0 23 ../printf '%+04d %+4d ' 1 2 3 -400; ../printf "\n" 24 # Missing format specifier; should have sane error message 25 ../printf '%000' FOO || echo "Expected failure" 26 ) > $res1 2> $res2 27 28 diff -u - $res1 <<'EOF' 29 123 30 0 31 foo 32 bar 33 +001 +2 +003 -400 34 Expected failure 35 EOF 36 37 diff -u - $res2 <<'EOF' 38 ../printf: Missing format specifier. 39 EOF