File indexing completed on 2024-04-21 15:24:19
0001 #/bin/bash 0002 0003 if [[ "$(which php-parser)" == "" ]]; then 0004 echo "ERROR: cannot find php-parser in your PATH!" 0005 exit 1 0006 fi 0007 0008 if [ ! -d "$1" ]; then 0009 echo "USAGE: $0 /path/to/php-tests" 0010 exit 2 0011 fi 0012 0013 passed="" 0014 failed="" 0015 0016 path=$1 0017 shift 1 0018 0019 if [ ! -d /tmp/php-parser-tests ]; then 0020 mkdir /tmp/php-parser-tests 0021 fi 0022 0023 for f in $(find "$path" -type f -name "*.phpt"); do 0024 base=$(basename $f) 0025 perl -ne '(/^--FILE--$/../^--EXPECT(F)?--$/) && print' "$f" | egrep -v '^--(FILE|EXPECT(F)?)--$' > /tmp/$base 0026 fail=$(egrep '^Parse error: ' $f) 0027 if php-parser /tmp/$base &>/tmp/$base.log; then 0028 if [[ "$fail" == "" ]]; then 0029 echo "passed $base" 0030 passed=$(echo -e "$passed\n$base") 0031 else 0032 echo 0033 echo "failed $base" 0034 cat /tmp/$base.log 0035 echo 0036 failed=$(echo -e "$failed\n$base") 0037 fi 0038 else 0039 if [[ "$fail" == "" ]]; then 0040 echo 0041 echo "failed $base" 0042 cat /tmp/$base.log 0043 echo 0044 failed=$(echo -e "$failed\n$base") 0045 else 0046 echo "passed $base" 0047 passed=$(echo -e "$passed\n$base") 0048 fi 0049 fi 0050 done 0051 0052 echo 0053 echo "PASSED:" 0054 echo 0055 0056 echo "$passed" 0057 echo 0058 echo "FAILED:" 0059 echo 0060 echo "$failed"