Re: [PATCH] Workaround for strange cmp bug
- From
Junio C Hamano <junkio@cox.net>
- Date
- Aug 9, 2006, 10:50 UTC
- Message-ID
- <7v3bc65gk0.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.63.0608091221550.1800@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 15 quoted lines
> 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.