aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-04-06 05:58:03 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-04-06 05:58:03 +0300
commit43a645fe05c57576d9d41a7f3b18bb55b1dbdc3e (patch)
tree3cec6d7c166666329ee4b7a0bf3652a1ff037e5e
parentcfb773bb093dadfa715816c75d438f97e387e71a (diff)
downloadegawk-43a645fe05c57576d9d41a7f3b18bb55b1dbdc3e.tar.gz
egawk-43a645fe05c57576d9d41a7f3b18bb55b1dbdc3e.tar.bz2
egawk-43a645fe05c57576d9d41a7f3b18bb55b1dbdc3e.zip
Test case for nonfatal close one end of two way pipe.
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am4
-rw-r--r--test/Makefile.in9
-rw-r--r--test/Maketests5
-rw-r--r--test/clos1way6.awk7
-rw-r--r--test/clos1way6.ok3
6 files changed, 31 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index eaeed87d..bfb05de6 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (clos1way6): New test.
+ * clos1way6.awk, clos1way6.ok: New files.
+
2016-04-04 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (clos1way2, clos1way3, clos1way4, clos1way5):
diff --git a/test/Makefile.am b/test/Makefile.am
index 8e5d0c88..fdb163d7 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -156,6 +156,8 @@ EXTRA_DIST = \
clos1way4.ok \
clos1way5.awk \
clos1way5.ok \
+ clos1way6.awk \
+ clos1way6.ok \
closebad.awk \
closebad.ok \
clsflnam.awk \
@@ -1130,7 +1132,7 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
backw badargs beginfile1 beginfile2 binmode1 charasbytes \
- colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
+ colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 clos1way6 \
crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
diff --git a/test/Makefile.in b/test/Makefile.in
index 9fec312d..3fa8fbc4 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -413,6 +413,8 @@ EXTRA_DIST = \
clos1way4.ok \
clos1way5.awk \
clos1way5.ok \
+ clos1way6.awk \
+ clos1way6.ok \
closebad.awk \
closebad.ok \
clsflnam.awk \
@@ -1386,7 +1388,7 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
backw badargs beginfile1 beginfile2 binmode1 charasbytes \
- colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
+ colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 clos1way6 \
crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
@@ -3678,6 +3680,11 @@ clos1way5:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+clos1way6:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
crlf:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index e39f6c3c..3b4691d2 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1017,6 +1017,11 @@ clos1way5:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+clos1way6:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
crlf:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/clos1way6.awk b/test/clos1way6.awk
new file mode 100644
index 00000000..19779d73
--- /dev/null
+++ b/test/clos1way6.awk
@@ -0,0 +1,7 @@
+BEGIN {
+ cmd = "cat - 1>&2; sleep 2"
+ PROCINFO[cmd, "NONFATAL"] = 1
+ print "test1" |& cmd; close(cmd, "to")
+ fflush(cmd)
+ print "test2" |& cmd; print ERRNO
+}
diff --git a/test/clos1way6.ok b/test/clos1way6.ok
new file mode 100644
index 00000000..5768617d
--- /dev/null
+++ b/test/clos1way6.ok
@@ -0,0 +1,3 @@
+gawk: clos1way6.awk:5: warning: fflush: cannot flush: two-way pipe `cat - 1>&2; sleep 2' has closed write end
+test1
+Bad file descriptor