test.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. VERSION=$1
  3. export PATH=/usr/local/php-$VERSION/bin:$PATH
  4. export C_INCLUDE_PATH=/usr/local/php-$VERSION/include/php/main:/usr/local/php-$VERSION/include/php:$C_INCLUDE_PATH
  5. export CPLUS_INCLUDE_PATH=/usr/local/php-$VERSION/include/php/main:/usr/local/php-$VERSION/include/php:$CPLUS_INCLUDE_PATH
  6. # Compile c extension
  7. /bin/bash ./compile_extension.sh $VERSION
  8. tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php descriptors_test.php wrapper_type_setters_test.php)
  9. for t in "${tests[@]}"
  10. do
  11. echo "****************************"
  12. echo "* $t"
  13. echo "****************************"
  14. php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t
  15. echo ""
  16. done
  17. for t in "${tests[@]}"
  18. do
  19. echo "****************************"
  20. echo "* $t persistent"
  21. echo "****************************"
  22. php -d protobuf.keep_descriptor_pool_after_request=1 -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t
  23. echo ""
  24. done
  25. # # Make sure to run the memory test in debug mode.
  26. # php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php
  27. export ZEND_DONT_UNLOAD_MODULES=1
  28. export USE_ZEND_ALLOC=0
  29. valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php
  30. valgrind --leak-check=yes php -d protobuf.keep_descriptor_pool_after_request=1 -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php
  31. # TODO(teboring): Only for debug (phpunit has memory leak which blocks this beging used by
  32. # regresssion test.)
  33. # for t in "${tests[@]}"
  34. # do
  35. # echo "****************************"
  36. # echo "* $t (memory leak)"
  37. # echo "****************************"
  38. # valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t
  39. # echo ""
  40. # done