Remove building with NOCRYPTO option
[minix.git] / external / bsd / libc++ / dist / libcxx / test / testit
blob821292efb5a36786be17c96966e4b444a6167fa8
1 #!/bin/sh
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 # //===--------------------------------------------------------------------===//
11 currentpath=`pwd`
12 origpath=$currentpath
13 currentdir=`basename $currentpath`
14 while [ $currentdir != "test" ]; do
15 if [ $currentdir = "/" ]
16 then
17 echo "current directory must be in or under \"test\"."
18 exit 1
20 cd ..
21 currentpath=`pwd`
22 currentdir=`basename $currentpath`
23 done
25 cd ..
26 LIBCXX_ROOT=`pwd`
27 cd $origpath
29 if [ -z "$CC" ]
30 then
31 if which xcrun >/dev/null
32 then
33 CC="xcrun clang++"
34 else
35 CC=clang++
39 if [ -z "$CXX_LANG" ]
40 then
41 CXX_LANG=c++11
43 if [ -z "$OPTIONS" ]
44 then
45 OPTIONS="-std=${CXX_LANG} -stdlib=libc++"
47 OPTIONS="$OPTIONS -I$LIBCXX_ROOT/test/support"
49 if [ -z "$HEADER_INCLUDE" ]
50 then
51 HEADER_INCLUDE="-I$LIBCXX_ROOT/include"
54 if [ -z "$SOURCE_LIB" ]
55 then
56 SOURCE_LIB="-L$LIBCXX_ROOT/lib"
59 case $TRIPLE in
60 *-*-mingw* | *-*-cygwin* | *-*-win*)
61 TEST_EXE=test.exe
64 TEST_EXE=a.out
66 esac
68 case $(uname -s) in
69 NetBSD)
70 THREAD_FLAGS=-lpthread
72 esac
74 FAIL=0
75 PASS=0
76 UNIMPLEMENTED=0
77 IMPLEMENTED_FAIL=0
78 IMPLEMENTED_PASS=0
80 afunc() {
81 fail=0
82 pass=0
83 if (ls ${TEST_PREFIX}*fail.cpp > /dev/null 2>&1)
84 then
85 for FILE in $(ls ${TEST_PREFIX}*fail.cpp); do
86 if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS -o ./$TEST_EXE > /dev/null 2>&1
87 then
88 rm ./$TEST_EXE
89 echo "$FILE should not compile"
90 fail=$(($fail+1))
91 else
92 pass=$(($pass+1))
94 done
97 if (ls ${TEST_PREFIX}*pass.cpp > /dev/null 2>&1)
98 then
99 for FILE in $(ls ${TEST_PREFIX}*pass.cpp); do
100 if [ "$VERBOSE" ]
101 then
102 echo "Running test: " $FILE
104 if $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS) -o ./$TEST_EXE
105 then
106 if ./$TEST_EXE
107 then
108 rm ./$TEST_EXE
109 pass=$(($pass+1))
110 else
111 echo "`pwd`/$FILE failed at run time"
112 echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
113 fail=$(($fail+1))
114 rm ./$TEST_EXE
116 else
117 echo "`pwd`/$FILE failed to compile"
118 echo "Compile line was:" $CC $OPTIONS $HEADER_INCLUDE $SOURCE_LIB $FILE $LIBS $(test $1 = no || echo $THREAD_FLAGS)
119 fail=$(($fail+1))
121 done
124 if [ $fail -gt 0 ]
125 then
126 echo "failed $fail tests in `pwd`"
127 IMPLEMENTED_FAIL=$(($IMPLEMENTED_FAIL+1))
129 if [ $pass -gt 0 ]
130 then
131 echo "passed $pass tests in `pwd`"
132 if [ $fail -eq 0 ]
133 then
134 IMPLEMENTED_PASS=$((IMPLEMENTED_PASS+1))
137 if [ $fail -eq 0 -a $pass -eq 0 ]
138 then
139 echo "not implemented: `pwd`"
140 UNIMPLEMENTED=$(($UNIMPLEMENTED+1))
143 FAIL=$(($FAIL+$fail))
144 PASS=$(($PASS+$pass))
146 for FILE in *
148 if [ -d "$FILE" ];
149 then
150 cd $FILE
151 if [ $FILE = thread -o $1 = yes ]; then
152 afunc yes
153 else
154 afunc no
156 cd ..
158 done
161 afunc no
163 echo "****************************************************"
164 echo "Results for `pwd`:"
165 echo "using `$CC --version`"
166 echo "with $OPTIONS $HEADER_INCLUDE $SOURCE_LIB"
167 echo "----------------------------------------------------"
168 echo "sections without tests : $UNIMPLEMENTED"
169 echo "sections with failures : $IMPLEMENTED_FAIL"
170 echo "sections without failures: $IMPLEMENTED_PASS"
171 echo " + ----"
172 echo "total number of sections : $(($UNIMPLEMENTED+$IMPLEMENTED_FAIL+$IMPLEMENTED_PASS))"
173 echo "----------------------------------------------------"
174 echo "number of tests failed : $FAIL"
175 echo "number of tests passed : $PASS"
176 echo " + ----"
177 echo "total number of tests : $(($FAIL+$PASS))"
178 echo "****************************************************"
180 exit $FAIL