t / valgrind / valgrind.shon commit tests: parameterize --valgrind option (952af35)
   1#!/bin/sh
   2
   3base=$(basename "$0")
   4
   5TOOL_OPTIONS='--leak-check=no'
   6
   7case "$GIT_VALGRIND_MODE" in
   8memcheck)
   9        VALGRIND_VERSION=$(valgrind --version)
  10        VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)')
  11        VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)')
  12        test 3 -gt "$VALGRIND_MAJOR" ||
  13        test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" ||
  14        TOOL_OPTIONS="$TOOL_OPTIONS --track-origins=yes"
  15        ;;
  16*)
  17        TOOL_OPTIONS="--tool=$GIT_VALGRIND_MODE"
  18esac
  19
  20exec valgrind -q --error-exitcode=126 \
  21        --gen-suppressions=all \
  22        --suppressions="$GIT_VALGRIND/default.supp" \
  23        $TOOL_OPTIONS \
  24        --log-fd=4 \
  25        --input-fd=4 \
  26        $GIT_VALGRIND_OPTIONS \
  27        "$GIT_VALGRIND"/../../"$base" "$@"