37 lines
855 B
Plaintext
37 lines
855 B
Plaintext
|
echo T.close: test close built-in
|
||
|
|
||
|
awk=${awk-../a.out}
|
||
|
|
||
|
rm -f foo
|
||
|
$awk '{ print >>"foo"; close("foo") }' /etc/passwd
|
||
|
diff /etc/passwd foo || echo 'BAD: T.close (1)'
|
||
|
|
||
|
ls -l >foo
|
||
|
tail -1 foo >foo1
|
||
|
$awk '{ print >"foo2"; close("foo2") }' foo
|
||
|
diff foo1 foo2 || echo 'BAD: T.close (2)'
|
||
|
|
||
|
echo 0 >foo1
|
||
|
$awk ' # non-accessible file
|
||
|
BEGIN { getline <"/etc/passwd"; print close("/etc/passwd"); }
|
||
|
' >foo2
|
||
|
diff foo1 foo2 || echo 'BAD: T.close (3)'
|
||
|
|
||
|
echo -1 >foo1
|
||
|
$awk ' # file not opened
|
||
|
BEGIN { print close("glotch"); }
|
||
|
' >foo2
|
||
|
diff foo1 foo2 || echo 'BAD: T.close (4)'
|
||
|
|
||
|
echo 0 >foo1
|
||
|
$awk ' # normal close
|
||
|
BEGIN { print "hello" > "foo"; print close("foo"); }
|
||
|
' >foo2
|
||
|
diff foo1 foo2 || echo 'BAD: T.close (5)'
|
||
|
|
||
|
echo 0 >foo1
|
||
|
$awk ' # normal close
|
||
|
BEGIN { print "hello" | "cat >foo"; print close("cat >foo"); }
|
||
|
' >foo2
|
||
|
diff foo1 foo2 || echo 'BAD: T.close (6)'
|