Re: [PATCH] valgrind: do not require valgrind 3.4.0 or newer
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 6, 2009, 00:52 UTC
- Message-ID
- <7vd4dw9yjm.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.DEB.1.00.0902060139490.10279@pacific.mpi-cbg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 52 quoted lines
> Hi,
>
> On Thu, 5 Feb 2009, Junio C Hamano wrote:
>
>> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
>>
>> > Valgrind 3.4.0 is pretty new, and even if --track-origins is a nice
>> > feature, it is not the end of the world if that is not available. So
>> > play nice and use that option only when only an older version of
>> > valgrind is available.
>> >
>> > In the same spirit, refrain from the use of '...' in suppression
>> > files, which is also a feature only valgrind 3.4 and newer understand.
>> >
>> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
>>
>> Thanks.
>>
>> > +TRACK_ORIGINS=
>> > +
>> > +VALGRIND_VERSION=$(valgrind --version)
>> > +VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)')
>> > +VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)')
>> > +test 3 -gt "$VALGRIND_MAJOR" ||
>> > +test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" ||
>> > +TRACK_ORIGINS=--track-origins=yes
>>
>> It took me a while to convince myself that
>>
>> "3 > major || (3 == major && 4 > minor) || do-this"
>>
>> is equivalent to
>>
>> "if (3 < major || (3 == major && 4 <= minor)) { do-this }"
>>
>> which would be:
>>
>> if test 3 -lt "$VALGRIND_MAJOR" ||
>> test 3 -eq "$VALGRIND_MAJOR" -a 4 -le "$VALGRIND_MINOR"
>> then
>> TRACK_ORIGINS=--track-origins=yes
>> fi
>>
>> or more commonly:
>>
>> if test "$VALGRIND_MAJOR" -gt 3 ||
>> test "$VALGRIND_MAJOR" -eq 3 -a "$VALGRIND_MINOR" -ge 4
>> then
>> TRACK_ORIGINS=--track-origins=yes
>> fi
>
> Okay. Want me to resubmit?Nah, sorry for being unclear that I was only stating an observation, not complaints.