aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-04-05 21:41:39 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-04-05 21:41:39 +0300
commitdb6e8faca70e60d2fa80e0affda3d9bef1e82eae (patch)
tree2ede6812410f1bfdba4e098a3d9dd92d725232f1 /test
parent2adf64c7b99ec6e8d1e4689b6484ace5295580b6 (diff)
parent1b5d1b8870cb0ac1c4b99f6cf67e3277427df864 (diff)
downloadegawk-db6e8faca70e60d2fa80e0affda3d9bef1e82eae.tar.gz
egawk-db6e8faca70e60d2fa80e0affda3d9bef1e82eae.tar.bz2
egawk-db6e8faca70e60d2fa80e0affda3d9bef1e82eae.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog10
-rw-r--r--test/Makefile.am12
-rw-r--r--test/Makefile.in32
-rw-r--r--test/Maketests20
-rw-r--r--test/clos1way2.awk6
-rw-r--r--test/clos1way2.in1
-rw-r--r--test/clos1way2.ok4
-rw-r--r--test/clos1way3.awk7
-rw-r--r--test/clos1way3.ok3
-rw-r--r--test/clos1way4.awk7
-rw-r--r--test/clos1way4.ok3
-rw-r--r--test/clos1way5.awk9
-rw-r--r--test/clos1way5.ok3
13 files changed, 115 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 2b44b4b5..eaeed87d 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,13 @@
+2016-04-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (clos1way2, clos1way3, clos1way4, clos1way5):
+ New tests.
+ * clos1way2.awk, clos1way2.in, clos1way2.ok, clos1way3.awk,
+ clos1way3.ok, clos1way4.awk, clos1way4.ok, clos1way5.awk,
+ clos1way5.ok: New files.
+ * clos1way2.awk: Add call to fflush() to test it too.
+ * clos1way2.ok: Updated after code change.
+
2016-03-27 Arnold D. Robbins <arnold@skeeve.com>
* profile5.ok: Adjust after code changes.
diff --git a/test/Makefile.am b/test/Makefile.am
index 776dfbd0..8e5d0c88 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -147,6 +147,15 @@ EXTRA_DIST = \
clobber.ok \
clos1way.awk \
clos1way.ok \
+ clos1way2.awk \
+ clos1way2.in \
+ clos1way2.ok \
+ clos1way3.awk \
+ clos1way3.ok \
+ clos1way4.awk \
+ clos1way4.ok \
+ clos1way5.awk \
+ clos1way5.ok \
closebad.awk \
closebad.ok \
clsflnam.awk \
@@ -1121,7 +1130,8 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
backw badargs beginfile1 beginfile2 binmode1 charasbytes \
- colonwarn clos1way crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
+ colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
+ crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 7c3a5a00..9fec312d 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -404,6 +404,15 @@ EXTRA_DIST = \
clobber.ok \
clos1way.awk \
clos1way.ok \
+ clos1way2.awk \
+ clos1way2.in \
+ clos1way2.ok \
+ clos1way3.awk \
+ clos1way3.ok \
+ clos1way4.awk \
+ clos1way4.ok \
+ clos1way5.awk \
+ clos1way5.ok \
closebad.awk \
closebad.ok \
clsflnam.awk \
@@ -1377,7 +1386,8 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
backw badargs beginfile1 beginfile2 binmode1 charasbytes \
- colonwarn clos1way crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
+ colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
+ crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
@@ -3648,6 +3658,26 @@ backw:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+clos1way2:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way4:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way5:
+ @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 f1ffdf97..e39f6c3c 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -997,6 +997,26 @@ backw:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+clos1way2:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way4:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+clos1way5:
+ @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/clos1way2.awk b/test/clos1way2.awk
new file mode 100644
index 00000000..5794bec5
--- /dev/null
+++ b/test/clos1way2.awk
@@ -0,0 +1,6 @@
+{
+ cmd = "cat - 1>&2; sleep 2"
+ print |& cmd; close(cmd, "to")
+ fflush(cmd)
+ print |& cmd; print ERRNO
+}
diff --git a/test/clos1way2.in b/test/clos1way2.in
new file mode 100644
index 00000000..9daeafb9
--- /dev/null
+++ b/test/clos1way2.in
@@ -0,0 +1 @@
+test
diff --git a/test/clos1way2.ok b/test/clos1way2.ok
new file mode 100644
index 00000000..063c4213
--- /dev/null
+++ b/test/clos1way2.ok
@@ -0,0 +1,4 @@
+gawk: clos1way2.awk:4: (FILENAME=- FNR=1) warning: fflush: cannot flush: two-way pipe `cat - 1>&2; sleep 2' has closed write end
+gawk: clos1way2.awk:5: (FILENAME=- FNR=1) fatal: print: attempt to write to closed write end of two-way pipe
+test
+CODE: 2
diff --git a/test/clos1way3.awk b/test/clos1way3.awk
new file mode 100644
index 00000000..f69f6675
--- /dev/null
+++ b/test/clos1way3.awk
@@ -0,0 +1,7 @@
+BEGIN {
+ cmd = "cat - 1>&2; sleep 2"
+ print "test1" |& cmd
+ close(cmd, "to")
+ print "test2" |& cmd
+ print ERRNO
+}
diff --git a/test/clos1way3.ok b/test/clos1way3.ok
new file mode 100644
index 00000000..74f67738
--- /dev/null
+++ b/test/clos1way3.ok
@@ -0,0 +1,3 @@
+gawk: clos1way3.awk:5: fatal: print: attempt to write to closed write end of two-way pipe
+test1
+ODE: 2
diff --git a/test/clos1way4.awk b/test/clos1way4.awk
new file mode 100644
index 00000000..6c68c5c8
--- /dev/null
+++ b/test/clos1way4.awk
@@ -0,0 +1,7 @@
+BEGIN {
+ cmd = "cat - 1>&2; sleep 2"
+ printf "%s\n", "test1" |& cmd
+ close(cmd, "to")
+ printf "%s\n", "test2" |& cmd
+ print ERRNO
+}
diff --git a/test/clos1way4.ok b/test/clos1way4.ok
new file mode 100644
index 00000000..707f9813
--- /dev/null
+++ b/test/clos1way4.ok
@@ -0,0 +1,3 @@
+gawk: clos1way4.awk:5: fatal: printf: attempt to write to closed write end of two-way pipe
+test1
+ODE: 2
diff --git a/test/clos1way5.awk b/test/clos1way5.awk
new file mode 100644
index 00000000..ca1bd94c
--- /dev/null
+++ b/test/clos1way5.awk
@@ -0,0 +1,9 @@
+BEGIN {
+ cmd = "echo test1; echo test2; sleep 2"
+ cmd |& getline x
+ print x
+ close(cmd, "from")
+ cmd |& getline x
+ print x
+ print ERRNO
+}
diff --git a/test/clos1way5.ok b/test/clos1way5.ok
new file mode 100644
index 00000000..1ff15402
--- /dev/null
+++ b/test/clos1way5.ok
@@ -0,0 +1,3 @@
+test1
+gawk: clos1way5.awk:6: fatal: getline: attempt to read from closed read end of two-way pipe
+EXIT CODE: 2