diff options
Diffstat (limited to 'RC9/qpid/cpp/src/tests/run_test')
| -rwxr-xr-x | RC9/qpid/cpp/src/tests/run_test | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/RC9/qpid/cpp/src/tests/run_test b/RC9/qpid/cpp/src/tests/run_test new file mode 100755 index 0000000000..062e9e137e --- /dev/null +++ b/RC9/qpid/cpp/src/tests/run_test @@ -0,0 +1,78 @@ +#!/bin/sh + +# 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. +# + +# +# Set up environment and run a test executable or script. +# +# Output nothing if test passes, show the output if it fails and +# leave output in <test>.log for examination. +# +# If qpidd.port exists run test with QPID_PORT=`cat qpidd.port` +# +# If $VALGRIND if is set run under valgrind. If there are valgrind +# erros show valgrind output, also leave it in <test>.valgrind for +# examination. +# + +srcdir=`dirname $0` +. $srcdir/vg_check + +# Export variables from makefile. +export VALGRIND srcdir + +# Set QPID_PORT if qpidd.port exists. +test -f qpidd.port && QPID_PORT=`cat qpidd.port` +export QPID_PORT + +# Avoid silly libtool error messages if these are not defined +test -z "$LC_ALL" && LC_ALL= +test -z "$LC_CTYPE" && LC_CTYPE= +test -z "$LC_COLLATE" && LC_COLLATE= +test -z "$LC_MESSAGES" && LC_MESSAGES= +export LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + +VG_LOG="`basename $1`.vglog" +rm -f $VG_LOG* + +VALGRIND_OPTS=" +--gen-suppressions=all +--leak-check=full +--demangle=yes +--suppressions=$srcdir/.valgrind.supp +--num-callers=25 +--log-file=$VG_LOG -- +" +# FIXME aconway 2008-07-16: removed --trace-children=yes, problems with cluster tests forking +# qpidd libtool script. Investigate & restore --trace-children if possible. + +ERROR=0 +if grep -l "^# Generated by .*libtool" "$1" >/dev/null 2>&1; then + # This is a libtool "executable". Valgrind it if VALGRIND specified. + test -n "$VALGRIND" && VALGRIND="$VALGRIND $VALGRIND_OPTS" + # Hide output unless there's an error. + libtool --mode=execute $VALGRIND "$@" 2>&1 || ERROR=1 + test -n "$VALGRIND" && { vg_check $VG_LOG* || ERROR=1 ; } +else + # This is a non-libtool shell script, just execute it. + exec "$@" +fi + +exit $ERROR + |
