62 lines
1.7 KiB
Diff
62 lines
1.7 KiB
Diff
From dc2613b0af11a8cf97232d55c322d40eda35c224 Mon Sep 17 00:00:00 2001
|
|
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
|
Date: Thu, 18 Nov 2021 21:04:25 +0200
|
|
Subject: [PATCH] Restore removed test in test/iolint.awk.
|
|
|
|
---
|
|
test/iolint.awk | 19 ++++++++++++-------
|
|
test/iolint.ok | 5 ++++-
|
|
2 files changed, 16 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/test/iolint.awk b/test/iolint.awk
|
|
index 58fd746..042f743 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 620a70f..7a165aa 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
|
|
--
|
|
1.8.3.1
|
|
|