As noted in https://bugs.gnu.org/9089
ksh give intermittent ECONNRESET errors with closed pipes.
This can be seen reliably on Linux with:
ksh -c 'yes | (sleep .1; head -n10 >/dev/null)'

* tests/misc/io-errors.sh: Avoid part of test on ksh.
* tests/misc/write-errors.sh: Likewise.
---
 tests/misc/io-errors.sh    | 3 +++
 tests/misc/write-errors.sh | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/tests/misc/io-errors.sh b/tests/misc/io-errors.sh
index d8efee08a..8d01aa913 100755
--- a/tests/misc/io-errors.sh
+++ b/tests/misc/io-errors.sh
@@ -92,6 +92,9 @@ while read writer; do
   { test $? = 124 || ! grep -E "$error_re" full.err >/dev/null; } &&
    { fail=1; cat full.err; echo "$writer: failed to exit" >&2; }
 
+  # https://github.com/ksh93/ksh/issues/741
+  $SHELL -c 'test -n "$KSH_VERSION"' && continue
+
   # Check closed pipe handling
   rm -f pipe.err || framework_failure_
   timeout 10 env --default-signal=PIPE $SHELL -c \
diff --git a/tests/misc/write-errors.sh b/tests/misc/write-errors.sh
index 965afc652..f1a9000a6 100755
--- a/tests/misc/write-errors.sh
+++ b/tests/misc/write-errors.sh
@@ -89,6 +89,9 @@ while read writer; do
   { test $? = 124 || ! grep "$ENOSPC" full.err >/dev/null; } &&
    { fail=1; cat full.err; echo "$writer: failed to exit" >&2; }
 
+  # https://github.com/ksh93/ksh/issues/741
+  $SHELL -c 'test -n "$KSH_VERSION"' && continue
+
   # Check closed pipe handling
   rm -f pipe.err || framework_failure_
   timeout 10 env --default-signal=PIPE $SHELL -c \
-- 
2.53.0


Reply via email to