Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Testsuite failures in A05execution inside Jenkins, but not locally (was: zsh 5.0.8.-test-3)



Hi,

On Wed, Aug 26, 2015 at 11:07:02AM -0700, Bart Schaefer wrote:
> } + (eval):printf:4: write error: broken pipe
> } + (eval):4: write error: inappropriate ioctl for device
> } + cat: write error: Broken pipe
> } + hang:printf: write error: broken pipe
> } + hang: write error: inappropriate ioctl for device
> } Was testing: Bug regression: piping a shell construct to an external process may hang
> 
> Those broken pipe errors are irrelevant to the test (in fact they're the
> expected reason for the printf and cat processes to terminate, but under
> normal circumstances that doesn't print an error).  So I think we can
> safely throw them away.
> 
> Consequently, does this fix it?

Not fully, maybe we need more "2>/dev/null"?

Current failure:

Running test: Bug regression: piping a shell construct to an external process may hang
This test takes 5 seconds to fail...
*** /tmp/zsh.ztst.err.6382   Wed Aug 26 21:24:06 2015
--- /tmp/zsh.ztst.terr.6382  Wed Aug 26 21:24:06 2015
***************
*** 0 ****
--- 1,2 ----
+ (eval):printf:4: write error: broken pipe
+ (eval):4: write error: inappropriate ioctl for device
Test ../../Test/A05execution.ztst failed: error output differs from expected as shown above for:
  { unsetopt MONITOR } 2>/dev/null
  coproc { read -et 5 || { print -u $ZTST_fd KILLED; kill -HUP -$$ } }
  print -u $ZTST_fd 'This test takes 5 seconds to fail...'
  { printf "%d\n" {1..20000} } | ( read -e )
  hang(){ printf "%d\n" {2..20000} | cat }; hang 2>/dev/null | ( read -e )
  sleep 1 ;: avoid coproc exit race condition
  print -p done
  read -et 6 -p
Was testing: Bug regression: piping a shell construct to an external process may hang
../../Test/A05execution.ztst: test failed.
The following may (or may not) help identifying the cause:
  This test checks for a file descriptor leak that could cause the left
  side of a pipe to block on write after the right side has exited

Maybe this line needs a "2>/dev/null", too?

>    { printf "%d\n" {1..20000} } | ( read -e )

Will try that.

		Kind regards, Axel
-- 
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe@xxxxxxxxxxxxxxx  (Mail)
 X   See http://www.nonhtmlmail.org/campaign.html | abe@xxxxxxxxx (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://abe.noone.org/ (Web)



Messages sorted by: Reverse Date, Date, Thread, Author