sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

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