Thread (4 messages) flat view 4 messages, 2 authors, 2016-06-15

Re: [PATCH] Workaround for strange cmp bug

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:36

Johannes Schindelin [off-list ref] writes:
The cmp(1) (cmp (GNU diffutils) 2.8.7) distributed with openSUSE 10.1 has
a subtle "shortcoming":

	$ echo a > a
	$ echo b > b
	$ cmp a b && echo nonono
	a b differ: char 1, line 1
	$ cmp a b >/dev/null && echo nonono
	nonono
	$ cmp -s a b >/dev/null && echo nonono

So, if cmp should _not_ be quiet, _and_ the output is redirected to
/dev/null, it has a bogus exit value. Our test suite redirects to
/dev/null, which triggers that bug. (Obviously, the tests pass when
running with '-v', which made that a real bugger to debug.)
While I sympathize unfortunate users who are stuck with such a
broken implementation of an important basic tool, such a rewrite
unnecessarily makes debugging of both test scripts _and_ real
breakage harder.

It actually is very useful, in the chain of &&, to see that
these steps in our tests output something when they shouldn't
when the tests are run under -v; you may have noticed that the
tests written by me have seemingly useless "echo happy" (which
always returns true) and such, and they are there for a reason.

Please get the distribution fixed.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help