Re: [PATCH v2] allow TTY tests to run under recent Mac OS
- From
Jeff King <peff@peff.net>
- Date
- Nov 14, 2014, 20:02 UTC
- Message-ID
- <20141114200239.GA11581@peff.net>
- In-Reply-To
- <CAO2U3QgmuwatfDDO8f461cwq2SctPx+owL8gDMBpNyDcaxaWGQ@mail.gmail.com>
On Fri, Nov 14, 2014 at 11:48:36AM -0800, Michael Blume wrote:
> My understanding is that && and || have equal precedence, and this > seems to be borne out in testing at my shell. If the if/then method is > clearer I'm happy to go with that.
I think the problem is that there are earlier parts of the chain. It currently looks like:
foo && bar && do_something
but you are making it:
foo && bar || baz && do_something
which will do_something whether or not "foo" is true. You need to put your "||" at a lower precedence than the rest of the chain. The "if" that Johannes mentioned works, though I think
test_have_prereq PERL &&
{
test "$(uname -s)" != Darwin ||
test "$(uname -r | cut -d. -f1)" -ge 13
} &&
...is more obvious to read (but that's subjective, of course).
-Peff