#!/bin/bash VERSION=$1 export PATH=/usr/local/php-$VERSION/bin:$PATH export C_INCLUDE_PATH=/usr/local/php-$VERSION/include/php/main:/usr/local/php-$VERSION/include/php:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/usr/local/php-$VERSION/include/php/main:/usr/local/php-$VERSION/include/php:$CPLUS_INCLUDE_PATH # Compile c extension pushd ../ext/google/protobuf/ make clean || true set -e # Add following in configure for debug: --enable-debug CFLAGS='-g -O0' phpize && ./configure CFLAGS='-g -O0' && make popd tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php descriptors_test.php ) for t in "${tests[@]}" do echo "****************************" echo "* $t" echo "****************************" php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t echo "" done # # Make sure to run the memory test in debug mode. # php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php export ZEND_DONT_UNLOAD_MODULES=1 export USE_ZEND_ALLOC=0 valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php # TODO(teboring): Only for debug (phpunit has memory leak which blocks this beging used by # regresssion test.) # for t in "${tests[@]}" # do # echo "****************************" # echo "* $t (memory leak)" # echo "****************************" # valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t # echo "" # done