darcs

Patch 1196 remove the broken sigPIPE test

Title remove the broken sigPIPE test
Superseder Nosy List ganesh
Related Issues
Status accepted Assigned To
Milestone

Created on 2014-09-27.15:10:59 by ganesh, last changed 2014-10-08.14:57:17 by gh.

Files
File name Status Uploaded Type Edit Remove
patch-preview.txt ganesh, 2014-09-27.15:10:58 text/x-darcs-patch
remove-the-broken-sigpipe-test.dpatch ganesh, 2014-09-27.15:10:58 application/x-darcs-patch
unnamed ganesh, 2014-09-27.15:10:58
See mailing list archives for discussion on individual patches.
Messages
msg17671 (view) Author: ganesh Date: 2014-09-27.15:10:58
I'll put this as in-discussion for a bit before committing it.

1 patch for repository darcs-unstable@darcs.net:screened:

Sat Sep 27 15:30:18 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * remove the broken sigPIPE test
  
  This test was introduced in 2006 to assert that darcs shouldn't exit with an
  error if stdout disappears while it's running (e.g. darcs changes | head).
  
  It looks like at some point this test stopped being useful, because it wasn't
  actually producing enough output to actually fail, e.g. because of buffering
  on the other side of the pipe.
  
  It also seems that at some point darcs did start exiting with an error in this
  scenario. This may have been due to GHC library changes in the handling of
  EPIPE - see GHC bugs #1619 and #2699 for some context.
  
  Then the output format of 'darcs changes' was changed by "show patch hash in UI",
  which tipped the amount of output back over the edge and caused the test to
  fail.
  
  In general the typical behaviour for UNIX commands is to exit with an error
  when their output pipe disappears. The exit code is typically 141 because the
  command receives SIGPIPE. In our either darcs or the GHC runtime or both are
  ignoring SIGPIPE, so the eventual exit code is 2 (see Darcs.Util.SignalHandler).
  
  I think this behaviour is fairly reasonable so I am just deleting the test.
Attachments
msg17682 (view) Author: gh Date: 2014-10-08.14:57:17
Thank you for investigating this. This is a case where the test script
that reproduces a particular problem became a problem in itself and
requires too much maintenance with doubtfull usefulness.

Accepted.
History
Date User Action Args
2014-09-27 15:10:59ganeshcreate
2014-09-27 15:11:26ganeshsetstatus: needs-screening -> in-discussion
2014-10-08 14:57:17ghsetstatus: in-discussion -> accepted
messages: + msg17682