#!/bin/bash cd $(dirname $0) set -ex PORT=12345 TIMEOUT=10 ./compile_extension.sh run_test() { echo echo "Running memory leak test, args: $@" EXTRA_ARGS="" ARGS="-d xdebug.profiler_enable=0 -d display_errors=on -dextension=../ext/google/protobuf/modules/protobuf.so" for i in "$@"; do case $i in --keep_descriptors) EXTRA_ARGS=-dprotobuf.keep_descriptor_pool_after_request=1 shift ;; esac done export ZEND_DONT_UNLOAD_MODULES=1 export USE_ZEND_ALLOC=0 if valgrind --error-exitcode=1 --leak-check=full --show-leak-kinds=all --errors-for-leak-kinds=all --suppressions=valgrind.supp --num-callers=100 php $ARGS $EXTRA_ARGS memory_leak_test.php; then echo "Memory leak test SUCCEEDED" else echo "Memory leak test FAILED" exit 1 fi } run_test run_test --keep_descriptors