0b87475592
* Some more updates to PHP testing infrastructure (#8576) * WIP. * Added build config for all of the tests. * Use ../src/protoc if it is available, for cases where Bazel isn't available. * Added test_php.sh. * Fix for the broken macOS tests. * Move all jobs to use php80 instead of lots of separate jobs. * Only pass -t flag if we are running in a terminal. * Updated php_all job to use new Docker stuff. * Fixed PHP memory leaks and arginfo errors (#8614) * Fixed a bunch of incorrect arginfo and a few incorrect error messages. * Passes mem check test with no leaks! * WIP. * Fix build warning that was causing Bazel build to fail. * Added compatibility code for PHP <8.0. * Added test_valgrind target and made tests Valgrind-clean. * Updated Valgrind test to fail if memory leaks are detected. * Removed intermediate shell script so commands are easier to cut, paste, and modify. * Passing all Valgrind tests! * Hoist addref into ObjCache_Get(). * Removed special case of map descriptors by keying object map on upb_msgdef. * Removed all remaining RETURN_ZVAL() macros. * Removed all explicit reference add/del operations. * Added REFCOUNTING.md to Makefile.am. * Updated upb version and fixed PHP to not get unset message field. (#8621) * Updated upb version and fixed PHP to not get unset message field. * Updated changelog. * Fixed preproc test to handle old versions of Clang withot __has_attribute(). * A second try at fixing __has_attribute(). * Copy __has_attribute() fix to cc file also. * Updated failure list for PHP for fixed test. * Updated version of upb for Ruby (#8624) * Updated upb. * Preserve legacy behavior for unset messages. * Updated failure list. * Updated CHANGES.txt. * Added erroneously-deleted test file. * Fixed condition on compatibility code. * Re-introduced deleted file again, and fixed Rakefile to not delete it. * Fix generation of test protos.
39 lines
1.0 KiB
Bash
Executable File
39 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
cd `dirname $0`
|
|
|
|
./prepare_c_extension.sh
|
|
|
|
if ../src/protoc --help > /dev/null; then
|
|
PROTOC=src/protoc
|
|
else
|
|
(cd .. && bazel build -c opt :protoc)
|
|
PROTOC=bazel-bin/protoc
|
|
fi
|
|
|
|
|
|
if [[ -d tmp && -z $(find tests/proto ../$PROTOC -newer tmp) ]]; then
|
|
# Generated protos are already present and up to date, so we can skip protoc.
|
|
#
|
|
# Protoc is very fast, but sometimes it is not available (like if we haven't
|
|
# built it in Docker). Skipping it helps us proceed in this case.
|
|
echo "Test protos are up-to-date, skipping protoc."
|
|
exit 0
|
|
fi
|
|
|
|
rm -rf tmp
|
|
mkdir -p tmp
|
|
|
|
cd ..
|
|
find php/tests/proto -type f -name "*.proto"| xargs $PROTOC --php_out=php/tmp -Isrc -Iphp/tests
|
|
|
|
if [ "$1" = "--aggregate_metadata" ]; then
|
|
# Overwrite some of the files to use aggregation.
|
|
AGGREGATED_FILES="tests/proto/test.proto tests/proto/test_include.proto tests/proto/test_import_descriptor_proto.proto"
|
|
$PROTOC --php_out=aggregate_metadata=foo#bar:php/tmp -Isrc -Iphp/tests $AGGREGATED_FILES
|
|
fi
|
|
|
|
echo "Generated test protos from tests/proto -> tmp"
|