aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2021-11-18 21:04:25 +0200
committerArnold D. Robbins <arnold@skeeve.com>2021-11-18 21:04:25 +0200
commitdc2613b0af11a8cf97232d55c322d40eda35c224 (patch)
tree9b010226dd4298a311118b4a555f2c395649de40
parent5fd15d010b98f179d117eb3a476e626b3d298aad (diff)
downloadegawk-dc2613b0af11a8cf97232d55c322d40eda35c224.tar.gz
egawk-dc2613b0af11a8cf97232d55c322d40eda35c224.tar.bz2
egawk-dc2613b0af11a8cf97232d55c322d40eda35c224.zip
Restore removed test in test/iolint.awk.
-rw-r--r--test/ChangeLog6
-rw-r--r--test/iolint.awk19
-rw-r--r--test/iolint.ok5
3 files changed, 22 insertions, 8 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 8384b5db..275f487b 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -2,6 +2,12 @@
* rwarray.awk: Improve test, add string and numbers.
+ Unrelated:
+
+ * iolint.awk: Restore the disabled test using eval in the child to
+ run different commands. Thanks to Miguel Pineiro Jr.,
+ <mpj@pineiro.cc>.
+
2021-11-14 Arnold D. Robbins <arnold@skeeve.com>
* iolint.awk: Disable test with race condition. Thanks to
diff --git a/test/iolint.awk b/test/iolint.awk
index 58fd746f..042f743b 100644
--- a/test/iolint.awk
+++ b/test/iolint.awk
@@ -55,15 +55,20 @@ BEGIN {
print close("cat")
fflush()
- # 11/2021: Disable this test since it's a race condition
- # and fails intermittently on some systems.
+ # 11/2021: Use a nice trick to avoid race conditions in
+ # child processes. Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.
#
# `%.*s' used for input pipe and output pipe
- # "echo hello" | getline junk
- # print "hello" | "echo hello"
- # print close("echo hello")
- # print close("echo hello")
- # fflush()
+ pipecmd = "eval $CMD_TO_RUN"
+
+ ENVIRON["CMD_TO_RUN"] = "echo hello"
+ pipecmd | getline junk
+ ENVIRON["CMD_TO_RUN"] = "read junk"
+ print "hello" | pipecmd
+
+ print close(pipecmd)
+ print close(pipecmd)
+ fflush()
# `%.*s' used for output file and output pipe"
BINMODE = 2
diff --git a/test/iolint.ok b/test/iolint.ok
index 620a70f3..7a165aa9 100644
--- a/test/iolint.ok
+++ b/test/iolint.ok
@@ -23,7 +23,10 @@ gawk: iolint.awk:53: warning: `cat' used for output file and output pipe
0
hello
0
-gawk: iolint.awk:71: warning: `cksum' used for output file and output pipe
+gawk: iolint.awk:67: warning: `eval $CMD_TO_RUN' used for input pipe and output pipe
+0
+0
+gawk: iolint.awk:76: warning: `cksum' used for output file and output pipe
3015617425 6
0
0