diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2021-11-18 21:04:25 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2021-11-18 21:04:25 +0200 |
commit | dc2613b0af11a8cf97232d55c322d40eda35c224 (patch) | |
tree | 9b010226dd4298a311118b4a555f2c395649de40 | |
parent | 5fd15d010b98f179d117eb3a476e626b3d298aad (diff) | |
download | egawk-dc2613b0af11a8cf97232d55c322d40eda35c224.tar.gz egawk-dc2613b0af11a8cf97232d55c322d40eda35c224.tar.bz2 egawk-dc2613b0af11a8cf97232d55c322d40eda35c224.zip |
Restore removed test in test/iolint.awk.
-rw-r--r-- | test/ChangeLog | 6 | ||||
-rw-r--r-- | test/iolint.awk | 19 | ||||
-rw-r--r-- | test/iolint.ok | 5 |
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 |