github.com/benhoyt/goawk@v1.8.1/testdata/T.close (about) 1 echo T.close: test close built-in 2 3 awk=${awk-../a.out} 4 5 rm -f foo 6 $awk '{ print >>"foo"; close("foo") }' /etc/passwd 7 diff /etc/passwd foo || echo 'BAD: T.close (1)' 8 9 ls -l >foo 10 tail -1 foo >foo1 11 $awk '{ print >"foo2"; close("foo2") }' foo 12 diff foo1 foo2 || echo 'BAD: T.close (2)' 13 14 echo 0 >foo1 15 $awk ' # non-accessible file 16 BEGIN { getline <"/etc/passwd"; print close("/etc/passwd"); } 17 ' >foo2 18 diff foo1 foo2 || echo 'BAD: T.close (3)' 19 20 echo -1 >foo1 21 $awk ' # file not opened 22 BEGIN { print close("glotch"); } 23 ' >foo2 24 diff foo1 foo2 || echo 'BAD: T.close (4)' 25 26 echo 0 >foo1 27 $awk ' # normal close 28 BEGIN { print "hello" > "foo"; print close("foo"); } 29 ' >foo2 30 diff foo1 foo2 || echo 'BAD: T.close (5)' 31 32 echo 0 >foo1 33 $awk ' # normal close 34 BEGIN { print "hello" | "cat >foo"; print close("cat >foo"); } 35 ' >foo2 36 diff foo1 foo2 || echo 'BAD: T.close (6)'