Re: [PATCH 3/4] t: rev-parse-parents: avoid yoda conditions
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 3, 2013, 07:51 UTC
- Message-ID
- <20130903075107.GA25540@goldbirke>
- In-Reply-To
- <20130903071256.GD3608@sigill.intra.peff.net>
Hi,
On Tue, Sep 03, 2013 at 03:12:56AM -0400, Jeff King wrote:
Show 24 quoted lines
> On Mon, Sep 02, 2013 at 01:30:38AM -0500, Felipe Contreras wrote:
>
> > Just as 5 == X is weird, so is comparing first the expected value, and
> > then the value we are testing. So switch them around.
>
> Actually, our normal comparison order for test output is "test_cmp
> expect actual", as it shows a test failure as a diff with the expected
> output as the base (i.e., the diff shows what went wrong).
>
> That reasoning does not apply to "test a = b", which shows no output at
> all. However, if you want to clean up and modernize these tests, it
> would probably be better to simply convert them to use test_cmp.
>
> I wonder if we should have a:
>
> test_cmp_args () {
> echo "$1" >expect &&
> echo "$1" >actual &&
> test_cmp expect actual
> }
>
> to let these remain one-liners like:
>
> test_cmp_args "$(git rev-parse start)" "$(git rev-parse final^1^1^1)"This idea come up before, but there is one flaw which makes this function less useful: a non-zero exit code of the commands in the command substitutions would be lost.
http://thread.gmane.org/gmane.comp.version-control.git/226699/focus=227361
Best, Gábor