blob: 9adedef5bc7945010c4cce399113f3bd83ff79ee [file] [log] [blame]
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is a wrapper for running valgrind on mesos-tests before it is
# installed that first sets up some flags via environment variables.
# Use colors for errors.
. @abs_top_srcdir@/support/colors.sh
# Default valgrind tool is "memcheck".
VALGRINDTOOL=memcheck
# For supplying alternative tools (e.g. "helgrind"), use the -t option.
while getopts ":t:" opt
do
case "${opt}" in
t) VALGRINDTOOL=${OPTARG}; shift 2
;;
esac
done
LIBTOOL=@abs_top_builddir@/libtool
test ! -e ${LIBTOOL} && \
echo "${RED}Failed to find ${LIBTOOL}, have you run configure?${NORMAL}" \
&& exit 1
# Confirm libtool has "valgrind" support.
${LIBTOOL} --mode=execute valgrind --version >/dev/null 2>&1
test $? != 0 && \
echo "${RED}Generated libtool doesn't appear to support valgrind${NORMAL}" \
&& exit 1
. @abs_top_builddir@/bin/mesos-tests-flags.sh
exec ${LIBTOOL} --mode=execute valgrind --tool=${VALGRINDTOOL} \
@abs_top_builddir@/src/mesos-tests "${@}"