diff options
-rwxr-xr-x | clang/test/TestRunner.sh | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/clang/test/TestRunner.sh b/clang/test/TestRunner.sh index 8c355670ec7..754ab300603 100755 --- a/clang/test/TestRunner.sh +++ b/clang/test/TestRunner.sh @@ -43,16 +43,40 @@ CLANG=$CLANG if [ ! -n "$CLANG" ]; then CLANG="clang" fi + +# Resolve the path, and Make sure $CLANG actually exists; otherwise +# ensuing failures are non-obvious. +CLANG=$(which "$CLANG") +if [ -z $CLANG ]; then + echo "Couldn't find 'clang' program, try setting CLANG in your environment" + exit 1 +fi + if [ -n "$VG" ]; then rm -f $OUTPUT.vg CLANG="valgrind --leak-check=full --quiet --log-file=$OUTPUT.vg $CLANG" fi +# Assuming $CLANG is correct, use it to derive clang-cc. We expect to +# be looking in a build directory, so just add '-cc'. +CLANGCC=$CLANGCC +if [ ! -n "$CLANGCC" ]; then + CLANGCC="$CLANG-cc" +fi + +# Try to sanity check $CLANGCC too +CLANGCC=$(which "$CLANGCC") +if [ -z "$CLANGCC" ]; then + echo "Couldn't find 'clang-cc' program, make sure clang is found in your build directory" + exit 1 +fi + SCRIPT=$OUTPUT.script TEMPOUTPUT=$OUTPUT.tmp grep 'RUN:' $FILENAME | \ sed -e "s|^.*RUN:\(.*\)$|\1|g" \ - -e "s|clang|$CLANG|g" \ + -e "s| clang | $CLANG |g" \ + -e "s| clang-cc | $CLANGCC |g" \ -e "s|%s|$SUBST|g" \ -e "s|%prcontext|prcontext.tcl|g" \ -e "s|%t|$TEMPOUTPUT|g" > $SCRIPT |