aboutsummaryrefslogtreecommitdiffstats
path: root/test/close_status.awk
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2022-02-11 11:47:47 +0200
committerArnold D. Robbins <arnold@skeeve.com>2022-02-11 11:47:47 +0200
commit255f50dd5427a17e5277a30d98b0a1c5eaec6001 (patch)
tree95a94b431c4a0fc7bd8aff53cff862b628fc6ca8 /test/close_status.awk
parent9b8d1fd59b0b4119097bb9943620804c12d1bf0a (diff)
parent938afb4d7acb9974d5789dfe4e322c0ccce0541e (diff)
downloadegawk-255f50dd5427a17e5277a30d98b0a1c5eaec6001.tar.gz
egawk-255f50dd5427a17e5277a30d98b0a1c5eaec6001.tar.bz2
egawk-255f50dd5427a17e5277a30d98b0a1c5eaec6001.zip
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'test/close_status.awk')
-rw-r--r--test/close_status.awk20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/close_status.awk b/test/close_status.awk
new file mode 100644
index 00000000..12b48d63
--- /dev/null
+++ b/test/close_status.awk
@@ -0,0 +1,20 @@
+BEGIN {
+ exit9 = "echo red; exit 9"
+ while ((exit9 | getline x) > 0)
+ print x
+ printf "close(%s) returned %s\n", exit9, close(exit9)
+
+ # run it again, but don't reap the exit status
+ while ((exit9 | getline x) > 0)
+ print x
+
+ exit0 = "echo blue; exit 0"
+ while ((exit0 | getline x) > 0)
+ print x
+ # reap status out of order
+ printf "close(%s) returned %s\n", exit0, close(exit0)
+
+ # check that we got the correct status from the previously
+ # exited process
+ printf "close(%s) returned %s\n", exit9, close(exit9)
+}