testit revision 9fb5709499823d560501170735097ba77152aa5d
1#!/bin/bash 2# //===--------------------------- testit ---------------------------------===// 3# // 4# // The LLVM Compiler Infrastructure 5# // 6# // This file is distributed under the University of Illinois Open Source 7# // License. See LICENSE.TXT for details. 8# // 9# //===--------------------------------------------------------------------===// 10 11export DYLD_LIBRARY_PATH=/Users/hhinnant/Development/libcxxabi/lib:/Users/hhinnant/Development/temp_libcxx/lib 12 13if [ -z $CC ] 14then 15 CC=clang++ 16fi 17 18if [ -z "$OPTIONS" ] 19then 20 OPTIONS="-std=c++0x -stdlib=libc++" 21fi 22 23case $TRIPLE in 24 *-*-mingw* | *-*-cygwin* | *-*-win*) 25 TEST_EXE=test.exe 26 ;; 27 *) 28 TEST_EXE=a.out 29 ;; 30esac 31 32FAIL=0 33PASS=0 34UNIMPLEMENTED=0 35IMPLEMENTED_FAIL=0 36IMPLEMENTED_PASS=0 37 38function afunc 39{ 40 fail=0 41 pass=0 42 if (ls *.fail.cpp &> /dev/null) 43 then 44 for FILE in $(ls *.fail.cpp); do 45 if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE &> /dev/null 46 then 47 rm ./$TEST_EXE 48 echo "$FILE should not compile" 49 let "fail+=1" 50 else 51 let "pass+=1" 52 fi 53 done 54 fi 55 56 if (ls *.cpp &> /dev/null) 57 then 58 for FILE in $(ls *.cpp); do 59 if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE 60 then 61 if ./$TEST_EXE 62 then 63 rm ./$TEST_EXE 64 let "pass+=1" 65 else 66 echo "$FILE failed at run time" 67 let "fail+=1" 68 rm ./$TEST_EXE 69 fi 70 else 71 echo "$FILE failed to compile" 72 let "fail+=1" 73 fi 74 done 75 fi 76 77 if [ $fail -gt 0 ] 78 then 79 echo "failed $fail tests in `pwd`" 80 let "IMPLEMENTED_FAIL+=1" 81 fi 82 if [ $pass -gt 0 ] 83 then 84 echo "passed $pass tests in `pwd`" 85 if [ $fail -eq 0 ] 86 then 87 let "IMPLEMENTED_PASS+=1" 88 fi 89 fi 90 if [ $fail -eq 0 -a $pass -eq 0 ] 91 then 92 echo "not implemented: `pwd`" 93 let "UNIMPLEMENTED+=1" 94 fi 95 96 let "FAIL+=$fail" 97 let "PASS+=$pass" 98 99 for FILE in * 100 do 101 if [ -d "$FILE" ]; 102 then 103 cd $FILE 104 afunc 105 cd .. 106 fi 107 done 108} 109 110afunc 111 112echo "****************************************************" 113echo "Results for `pwd`:" 114echo "using `$CC --version`" 115echo "with $OPTIONS $HEADER_INCLUDE $SOURCE_LIB" 116echo "----------------------------------------------------" 117echo "sections without tests : $UNIMPLEMENTED" 118echo "sections with failures : $IMPLEMENTED_FAIL" 119echo "sections without failures: $IMPLEMENTED_PASS" 120echo " + ----" 121echo "total number of sections : $(($UNIMPLEMENTED+$IMPLEMENTED_FAIL+$IMPLEMENTED_PASS))" 122echo "----------------------------------------------------" 123echo "number of tests failed : $FAIL" 124echo "number of tests passed : $PASS" 125echo " + ----" 126echo "total number of tests : $(($FAIL+$PASS))" 127echo "****************************************************" 128 129exit $FAIL 130