Newer
Older
#!/bin/bash
# //===--------------------------- testit ---------------------------------===//
# //
# // The LLVM Compiler Infrastructure
# //
# // This file is distributed under the University of Illinois Open Source
# // License. See LICENSE.TXT for details.
# //
# //===--------------------------------------------------------------------===//
if [ -z $CC ]
then
fi
FAIL=0
PASS=0
UNIMPLEMENTED=0
IMPLEMENTED_FAIL=0
IMPLEMENTED_PASS=0
function afunc
{
fail=0
pass=0
if (ls *.fail.cpp &> /dev/null)
then
for FILE in $(ls *.fail.cpp); do
if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE &> /dev/null
then
rm ./a.out
echo "$FILE should not compile"
let "fail+=1"
else
let "pass+=1"
fi
done
fi
if (ls *.pass.cpp &> /dev/null)
then
for FILE in $(ls *.pass.cpp); do
if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
then
if ./a.out
then
rm ./a.out
let "pass+=1"
else
echo "$FILE failed at run time"
let "fail+=1"
rm ./a.out
fi
else
echo "$FILE failed to compile"
let "fail+=1"
fi
done
fi
if [ $fail -gt 0 ]
then
echo "failed $fail tests in `pwd`"
let "IMPLEMENTED_FAIL+=1"
fi
if [ $pass -gt 0 ]
then
echo "passed $pass tests in `pwd`"
if [ $fail -eq 0 ]
then
let "IMPLEMENTED_PASS+=1"
fi
fi
if [ $fail -eq 0 -a $pass -eq 0 ]
then
echo "not implemented: `pwd`"
let "UNIMPLEMENTED+=1"
fi
let "FAIL+=$fail"
let "PASS+=$pass"
for FILE in *
do
if [ -d "$FILE" ];
then
cd $FILE
afunc
cd ..
fi
done
}
afunc
echo "****************************************************"
echo "Results for `pwd`:"
echo "using `$CC --version`"
echo "with $OPTIONS $HEADER_INCLUDE $SOURCE_LIB"
echo "----------------------------------------------------"
echo "sections without tests : $UNIMPLEMENTED"
echo "sections with failures : $IMPLEMENTED_FAIL"
echo "sections without failures: $IMPLEMENTED_PASS"
echo " + ----"
echo "total number of sections : $(($UNIMPLEMENTED+$IMPLEMENTED_FAIL+$IMPLEMENTED_PASS))"
echo "----------------------------------------------------"
echo "number of tests failed : $FAIL"
echo "number of tests passed : $PASS"
echo " + ----"
echo "total number of tests : $(($FAIL+$PASS))"
echo "****************************************************"
exit $FAIL