1*13d33726Schristosecho T.redir: test redirections 2*13d33726Schristos 3*13d33726Schristosawk=${awk-../a.out} 4*13d33726Schristos 5*13d33726Schristos$awk '{ print >"foo" }' /etc/passwd 6*13d33726Schristosdiff foo /etc/passwd || echo 'BAD: T.redir (print >"foo")' 7*13d33726Schristos 8*13d33726Schristosrm -f foo 9*13d33726Schristos$awk '{ print >>"foo" }' /etc/passwd 10*13d33726Schristosdiff foo /etc/passwd || echo 'BAD: T.redir (print >>"foo")' 11*13d33726Schristos 12*13d33726Schristosrm -f foo 13*13d33726Schristos$awk 'NR%2 == 1 { print >>"foo" } 14*13d33726Schristos NR%2 == 0 { print >"foo" }' /etc/passwd 15*13d33726Schristosdiff foo /etc/passwd || echo 'BAD: T.redir (print > and >>"foo")' 16*13d33726Schristos 17*13d33726Schristosrm -f foo 18*13d33726Schristos$awk '{ print | "cat >foo" }' /etc/passwd 19*13d33726Schristosdiff foo /etc/passwd || echo 'BAD: T.redir (print | "cat >foo")' 20*13d33726Schristos 21*13d33726Schristos# tests flush of stdout before opening pipe 22*13d33726Schristosecho ' head 23*13d33726Schristos1 24*13d33726Schristos2' >foo1 25*13d33726Schristos$awk 'BEGIN { print " head" 26*13d33726Schristos for (i = 1; i < 3; i++) 27*13d33726Schristos print i | "sort" }' >foo2 28*13d33726Schristosdiff foo1 foo2 || echo 'BAD: T.redir (buffering)' 29*13d33726Schristos 30*13d33726Schristosrm -f foo[12] 31*13d33726Schristos$awk '{ print >"/dev/stderr" }' /etc/passwd 1>foo1 2>foo2 32*13d33726Schristosdiff foo2 /etc/passwd || echo 'BAD: T.redir (print >"/dev/stderr")' 33*13d33726Schristosdiff foo1 /dev/null || echo 'BAD: T.redir (print >"/dev/stderr")' 34*13d33726Schristos 35*13d33726Schristosrm -f foo[12] 36*13d33726Schristos$awk '{ print >"/dev/stdout" }' /etc/passwd 1>foo1 2>foo2 37*13d33726Schristosdiff foo1 /etc/passwd || echo 'BAD: T.redir (print >"/dev/stdout")' 38*13d33726Schristosdiff foo2 /dev/null || echo 'BAD: T.redir (print >"/dev/stderr")' 39