diff options
-rw-r--r-- | test/ChangeLog | 8 | ||||
-rw-r--r-- | test/Makefile.am | 12 | ||||
-rw-r--r-- | test/Makefile.in | 32 | ||||
-rw-r--r-- | test/Maketests | 20 | ||||
-rw-r--r-- | test/clos1way2.awk | 5 | ||||
-rw-r--r-- | test/clos1way2.in | 1 | ||||
-rw-r--r-- | test/clos1way2.ok | 3 | ||||
-rw-r--r-- | test/clos1way3.awk | 7 | ||||
-rw-r--r-- | test/clos1way3.ok | 3 | ||||
-rw-r--r-- | test/clos1way4.awk | 7 | ||||
-rw-r--r-- | test/clos1way4.ok | 3 | ||||
-rw-r--r-- | test/clos1way5.awk | 9 | ||||
-rw-r--r-- | test/clos1way5.ok | 3 |
13 files changed, 111 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 05f8e937..80b2c233 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,11 @@ +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. + 2016-02-18 Arnold D. Robbins <arnold@skeeve.com> * profile2.ok, profile5.ok: Adjust after code changes. diff --git a/test/Makefile.am b/test/Makefile.am index 540e8d99..7be8d971 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 \ @@ -1075,7 +1084,8 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ backw badargs beginfile1 beginfile2 binmode1 charasbytes \ - colonwarn clos1way crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \ + colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \ + crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \ functab1 functab2 functab3 fwtest fwtest2 fwtest3 \ genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops \ diff --git a/test/Makefile.in b/test/Makefile.in index 723c39e1..b9b97de5 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 \ @@ -1331,7 +1340,8 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ backw badargs beginfile1 beginfile2 binmode1 charasbytes \ - colonwarn clos1way crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \ + colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \ + crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \ functab1 functab2 functab3 fwtest fwtest2 fwtest3 \ genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops \ @@ -3559,6 +3569,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 214f5ddb..08d05952 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..7dab6a67 --- /dev/null +++ b/test/clos1way2.awk @@ -0,0 +1,5 @@ +{ + cmd = "cat - 1>&2; sleep 2" + print |& cmd; close(cmd, "to") + 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..22bd3e17 --- /dev/null +++ b/test/clos1way2.ok @@ -0,0 +1,3 @@ +gawk: clos1way2.awk:4: (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 |