Changes in trunk/test/testcompile.sh [30:19]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/testcompile.sh
r30 r19 1 1 #! /bin/sh 2 2 3 # 4 # Copyright Rainer Wichmann (2006) 5 # 6 # License Information: 7 # This program is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2 of the License, or 10 # (at your option) any later version. 11 # 12 # This program is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with this program; if not, write to the Free Software 19 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 # 21 22 MAXTEST=57; export MAXTEST 23 24 run_flawfinder () 25 { 26 flawfinder --minlevel=3 --quiet src/s*.c | \ 27 egrep '^No hits found.' >/dev/null 2>&1 28 if [ $? -eq 0 ]; then 29 [ -z "$quiet" ] && log_ok $2 ${MAXTEST} "$TEST"; 30 else 31 flawfinder --minlevel=3 --quiet src/s*.c >test_log 2>&1 32 [ -z "$quiet" ] && log_fail $2 ${MAXTEST} "$TEST"; 33 return 1 34 fi 35 } 36 37 run_smatch () 38 { 39 export CDIR=`pwd`; 40 41 if [ -z "$doall" ]; then 42 [ -z "$quiet" ] && log_skip $2 ${MAXTEST} "$TEST (smatch)"; 43 return 0 44 fi 45 46 if [ "x$3" = "xdebug" ]; then memcheck=debug; else memcheck=simple; fi 47 if [ -f ../sm_scripts/smatch.pm ]; then 48 ( 49 cd ../sm_scripts; 50 51 for i in ${CDIR}/*.c.sm ; do 52 # echo $i; 53 cat $i | ./unreached_code.pl; 54 cat $i | ./ampersand_missing.sh; 55 cat $i | ./uninitialized.pl; 56 cat $i | ./eqeq.pl; 57 cat $i | ./for_bounds.pl; 58 cat $i | ./unchecked_returns.pl; 59 cat $i | ./unreached_code.pl; 60 cat $i | ./uninitialized.pl; 61 # from http://people.redhat.com/mstefani/wine/smatch/ 62 if [ -f ./while_for_check.pl ]; then 63 cat $i | ./while_for_check.pl; 64 fi 65 # --> end wine <-- 66 # samhain specific 67 if [ $memcheck = xsimple ]; then 68 if [ -f ./samhain_unfree.pl ]; then 69 cat $i | ./samhain_unfree.pl | \ 70 egrep -v 'x_cutest_.*Test_' | \ 71 egrep -v 'x_sh_unix.c .... .... sh_unix_copyenv'; 72 fi 73 fi 74 if [ $memcheck = xdebug ]; then 75 if [ -f ./samhain_unfree_debug.pl ]; then 76 cat $i | ./samhain_unfree_debug.pl | \ 77 egrep -v 'x_cutest_.*Test_' | \ 78 egrep -v 'x_sh_unix.c .... .... sh_unix_copyenv'; 79 fi 80 fi 81 # --> end samhain specific <-- 82 #cat $i | ./unfree.pl | \ 83 # egrep -v 'x_cutest_.*Test_' | \ 84 # grep -v 'x_sh_unix.c .... .... sh_unix_copyenv'; 85 touch list_null_funcs_uniq; 86 cat $i | ./deference_check.pl; 87 rm -f list_null_funcs_uniq; 88 rm -f $i 89 done 90 ) >test_log_smatch 2>&1 91 if [ -f test_log_smatch ]; then 92 lines=`cat test_log_smatch | wc -l` 93 if [ $lines -ne 0 ]; then 94 cat test_log_smatch 95 rm -f test_log_smatch 96 [ -z "$quiet" ] && log_fail $2 ${MAXTEST} "$TEST (smatch)"; 97 return 1 98 fi 99 fi 100 [ -z "$quiet" ] && log_ok $2 ${MAXTEST} "$TEST (smatch)"; 101 return 0 102 fi 103 [ -z "$quiet" ] && log_skip $2 ${MAXTEST} "$TEST (smatch)"; 104 return 0 105 } 3 MAXTEST=28; export MAXTEST 106 4 107 5 testmake () … … 110 8 if test x$1 = x0; then 111 9 [ -z "$verbose" ] || log_msg_ok "configure... $TEST"; 112 $MAKE ${SMATCH}cutest > /dev/null 2>> test_log10 $MAKE cutest > /dev/null 2>> test_log 113 11 if test x$? = x0; then 114 12 [ -z "$verbose" ] || log_msg_ok "make cutest... $TEST"; … … 136 34 log_start "COMPILE" 137 35 138 if [ -f /usr/local/gcc-smatch/bin/gcc ]; then139 SAVE_CC="${CC}"140 SMATCH="DBGDEF=--smatch"; export SMATCH141 CC="/usr/local/gcc-smatch/bin/gcc"; export CC142 fi143 144 36 num=0 145 37 numfail=0 146 38 147 39 # 148 # test flawfinder149 #150 TEST="${S}check w/flawfinder${E}"151 #152 #153 let "num = num + 1" >/dev/null154 FLAWFINDER=`find_path flawfinder`155 #156 if [ -z "$FLAWFINDER" ]; then157 log_skip $num $MAXTEST 'check w/flawfinder (not in PATH)'158 else159 run_flawfinder 0 $num || let "numfail = numfail + 1" >/dev/null160 fi161 #162 163 #164 40 # test standalone compilation 165 41 # 166 TEST="${S}standalone w/suidcheck${E}"42 TEST="${S}standalone agent w/suidcheck${E}" 167 43 # 168 44 if test -r "Makefile"; then … … 174 50 let "num = num + 1" >/dev/null 175 51 testmake $? $num || let "numfail = numfail + 1" >/dev/null 176 let "num = num + 1" >/dev/null177 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null178 52 179 53 # 180 54 # test standalone compilation 181 55 # 182 TEST="${S}standalone w/mounts-checkw/userfiles${E}"56 TEST="${S}standalone agent w/mounts-check and w/userfiles${E}" 183 57 # 184 58 if test -r "Makefile"; then … … 190 64 let "num = num + 1" >/dev/null 191 65 testmake $? $num || let "numfail = numfail + 1" >/dev/null 192 let "num = num + 1" >/dev/null193 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null194 66 195 67 … … 197 69 # test standalone compilation 198 70 # 199 TEST="${S}standalone w/timeserver and w/msgqueue${E}"71 TEST="${S}standalone agent w/timeserver and w/message-queue${E}" 200 72 # 201 73 if test -r "Makefile"; then … … 207 79 let "num = num + 1" >/dev/null 208 80 testmake $? $num || let "numfail = numfail + 1" >/dev/null 209 let "num = num + 1" >/dev/null210 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null211 81 212 82 # 213 83 # test standalone compilation with --with-nocl=PW 214 84 # 215 TEST="${S}standalone w/nocl${E}"85 TEST="${S}standalone agent w/nocl${E}" 216 86 # 217 87 if test -r "Makefile"; then … … 223 93 let "num = num + 1" >/dev/null 224 94 testmake $? $num || let "numfail = numfail + 1" >/dev/null 225 let "num = num + 1" >/dev/null226 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null227 95 228 96 # 229 97 # test standalone compilation w/ debug 230 98 # 231 TEST="${S}standalone w/debug${E}"99 TEST="${S}standalone agent w/debug${E}" 232 100 # 233 101 if test -r "Makefile"; then … … 239 107 let "num = num + 1" >/dev/null 240 108 testmake $? $num || let "numfail = numfail + 1" >/dev/null 241 let "num = num + 1" >/dev/null242 run_smatch $? $num debug || let "numfail = numfail + 1" >/dev/null243 109 244 110 # 245 111 # test standalone compilation w/ gpg 246 112 # 247 TEST="${S}standalone w/gpg${E}"113 TEST="${S}standalone agent w/gpg${E}" 248 114 # 249 115 GPG=`find_path gpg` … … 252 118 if [ -z "$GPG" ]; then 253 119 log_skip $num $MAXTEST 'gpg not in PATH' 254 let "num = num + 1" >/dev/null255 120 else 256 121 if test -r "Makefile"; then … … 261 126 # 262 127 testmake $? $num || let "numfail = numfail + 1" >/dev/null 263 let "num = num + 1" >/dev/null264 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null265 128 fi 266 129 … … 268 131 # test standalone compilation w/stealth 269 132 # 270 TEST="${S}standalone w/stealth${E}"133 TEST="${S}standalone agent w/stealth${E}" 271 134 # 272 135 if test -r "Makefile"; then … … 278 141 let "num = num + 1" >/dev/null 279 142 testmake $? $num || let "numfail = numfail + 1" >/dev/null 280 let "num = num + 1" >/dev/null281 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null282 143 283 144 # 284 145 # test standalone compilation w/logwatch 285 146 # 286 TEST="${S}standalone w/login-watch${E}"147 TEST="${S}standalone agent w/login-watch${E}" 287 148 # 288 149 if test -r "Makefile"; then … … 294 155 let "num = num + 1" >/dev/null 295 156 testmake $? $num || let "numfail = numfail + 1" >/dev/null 296 let "num = num + 1" >/dev/null297 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null298 157 299 158 # 300 159 # test standalone compilation w/mysql 301 160 # 302 TEST="${S}standalone w/mysql${E}"161 TEST="${S}standalone agent w/mysql${E}" 303 162 # 304 163 if test -r "Makefile"; then … … 310 169 let "num = num + 1" >/dev/null 311 170 testmake $? $num "skip" || let "numfail = numfail + 1" >/dev/null 312 let "num = num + 1" >/dev/null313 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null314 171 315 172 # 316 173 # test standalone compilation w/postgresql 317 174 # 318 TEST="${S}standalone w/postgresql${E}"175 TEST="${S}standalone agent w/postgresql${E}" 319 176 # 320 177 if test -r "Makefile"; then … … 326 183 let "num = num + 1" >/dev/null 327 184 testmake $? $num "skip" || let "numfail = numfail + 1" >/dev/null 328 let "num = num + 1" >/dev/null329 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null330 185 331 186 # 332 187 # test standalone compilation 333 188 # 334 TEST="${S}standalone w/o mail${E}"189 TEST="${S}standalone agent w/o mail${E}" 335 190 # 336 191 if test -r "Makefile"; then … … 342 197 let "num = num + 1" >/dev/null 343 198 testmake $? $num || let "numfail = numfail + 1" >/dev/null 344 let "num = num + 1" >/dev/null345 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null346 199 347 200 # 348 201 # test standalone compilation 349 202 # 350 TEST="${S}standalone w/o external${E}"203 TEST="${S}standalone agent w/o external scripts${E}" 351 204 # 352 205 if test -r "Makefile"; then … … 358 211 let "num = num + 1" >/dev/null 359 212 testmake $? $num || let "numfail = numfail + 1" >/dev/null 360 let "num = num + 1" >/dev/null361 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null362 213 363 214 # echo; echo "${S}__ TEST CLIENT/SERVER __${E}"; echo; … … 376 227 let "num = num + 1" >/dev/null 377 228 testmake $? $num || let "numfail = numfail + 1" >/dev/null 378 let "num = num + 1" >/dev/null379 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null380 229 381 230 if test -r "Makefile"; then … … 387 236 let "num = num + 1" >/dev/null 388 237 testmake $? $num || let "numfail = numfail + 1" >/dev/null 389 let "num = num + 1" >/dev/null390 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null391 238 392 239 # … … 400 247 if [ -z "$GPG" ]; then 401 248 log_skip $num $MAXTEST 'gpg not in PATH' 402 let "num = num + 3" >/dev/null 249 let "num = num + 1" >/dev/null 250 log_skip $num $MAXTEST 'gpg not in PATH' 403 251 else 404 252 if test -r "Makefile"; then … … 409 257 # 410 258 testmake $? $num || let "numfail = numfail + 1" >/dev/null 411 let "num = num + 1" >/dev/null412 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null413 259 # 414 260 if test -r "Makefile"; then … … 420 266 let "num = num + 1" >/dev/null 421 267 testmake $? $num || let "numfail = numfail + 1" >/dev/null 422 let "num = num + 1" >/dev/null423 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null424 268 fi 425 269 … … 438 282 let "num = num + 1" >/dev/null 439 283 testmake $? $num || let "numfail = numfail + 1" >/dev/null 440 let "num = num + 1" >/dev/null441 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null442 284 # 443 285 if test -r "Makefile"; then … … 449 291 let "num = num + 1" >/dev/null 450 292 testmake $? $num || let "numfail = numfail + 1" >/dev/null 451 let "num = num + 1" >/dev/null452 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null453 293 454 294 # … … 465 305 let "num = num + 1" >/dev/null 466 306 testmake $? $num || let "numfail = numfail + 1" >/dev/null 467 let "num = num + 1" >/dev/null468 run_smatch $? $num debug || let "numfail = numfail + 1" >/dev/null469 307 # 470 308 if test -r "Makefile"; then … … 476 314 let "num = num + 1" >/dev/null 477 315 testmake $? $num || let "numfail = numfail + 1" >/dev/null 478 let "num = num + 1" >/dev/null479 run_smatch $? $num debug || let "numfail = numfail + 1" >/dev/null480 316 481 317 # … … 492 328 let "num = num + 1" >/dev/null 493 329 testmake $? $num || let "numfail = numfail + 1" >/dev/null 494 let "num = num + 1" >/dev/null495 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null496 330 # 497 331 if test -r "Makefile"; then … … 503 337 let "num = num + 1" >/dev/null 504 338 testmake $? $num || let "numfail = numfail + 1" >/dev/null 505 let "num = num + 1" >/dev/null506 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null507 339 508 340 # … … 519 351 let "num = num + 1" >/dev/null 520 352 testmake $? $num || let "numfail = numfail + 1" >/dev/null 521 let "num = num + 1" >/dev/null522 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null523 353 # 524 354 if test -r "Makefile"; then … … 530 360 let "num = num + 1" >/dev/null 531 361 testmake $? $num || let "numfail = numfail + 1" >/dev/null 532 let "num = num + 1" >/dev/null533 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null534 362 535 363 # … … 546 374 let "num = num + 1" >/dev/null 547 375 testmake $? $num || let "numfail = numfail + 1" >/dev/null 548 let "num = num + 1" >/dev/null549 run_smatch $? $num debug || let "numfail = numfail + 1" >/dev/null550 376 # 551 377 if test -r "Makefile"; then … … 557 383 let "num = num + 1" >/dev/null 558 384 testmake $? $num || let "numfail = numfail + 1" >/dev/null 559 let "num = num + 1" >/dev/null560 run_smatch $? $num debug || let "numfail = numfail + 1" >/dev/null561 385 562 386 # 563 387 # test client/server compilation 564 388 # 565 TEST="${S}client/server application w/o external ${E}"389 TEST="${S}client/server application w/o external scripts${E}" 566 390 # 567 391 if test -r "Makefile"; then … … 573 397 let "num = num + 1" >/dev/null 574 398 testmake $? $num || let "numfail = numfail + 1" >/dev/null 575 let "num = num + 1" >/dev/null576 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null577 399 # 578 400 if test -r "Makefile"; then … … 584 406 let "num = num + 1" >/dev/null 585 407 testmake $? $num || let "numfail = numfail + 1" >/dev/null 586 let "num = num + 1" >/dev/null587 run_smatch $? $num || let "numfail = numfail + 1" >/dev/null588 589 [ -z "${SMATCH}" ] || { CC="${SAVE_CC}"; export CC; }590 408 591 409 log_end "COMPILE"
Note:
See TracChangeset
for help on using the changeset viewer.