diff options
Diffstat (limited to 'third_party/protobuf/3.4.0/php/tests/compatibility_test.sh')
-rwxr-xr-x | third_party/protobuf/3.4.0/php/tests/compatibility_test.sh | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/third_party/protobuf/3.4.0/php/tests/compatibility_test.sh b/third_party/protobuf/3.4.0/php/tests/compatibility_test.sh deleted file mode 100755 index 6f1e49000b..0000000000 --- a/third_party/protobuf/3.4.0/php/tests/compatibility_test.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/bash - -function use_php() { - VERSION=$1 - PHP=`which php` - PHP_CONFIG=`which php-config` - PHPIZE=`which phpize` - ln -sfn "/usr/local/php-${VERSION}/bin/php" $PHP - ln -sfn "/usr/local/php-${VERSION}/bin/php-config" $PHP_CONFIG - ln -sfn "/usr/local/php-${VERSION}/bin/phpize" $PHPIZE -} - -function generate_proto() { - PROTOC1=$1 - PROTOC2=$2 - - rm -rf generated - mkdir generated - - $PROTOC1 --php_out=generated proto/test_include.proto - $PROTOC2 --php_out=generated proto/test.proto proto/test_no_namespace.proto proto/test_prefix.proto - pushd ../../src - $PROTOC2 --php_out=../php/tests/generated google/protobuf/empty.proto - $PROTOC2 --php_out=../php/tests/generated -I../php/tests -I. ../php/tests/proto/test_import_descriptor_proto.proto - popd -} - -# Remove tests to expect error. These were added to API tests by mistake. -function remove_error_test() { - local TEMPFILE=`tempfile` - cat $1 | \ - awk -v file=`basename $1` -v dir=`basename $(dirname $1)` ' - BEGIN { - show = 1 - } - /@expectedException PHPUnit_Framework_Error/ { show = 0; next; } - / *\*\// { print; next; } - / *}/ { - if (!show) { - show = 1; - next; - } - } - show { print } - ' > $TEMPFILE - cp $TEMPFILE $1 -} - -set -ex - -# Change to the script's directory. -cd $(dirname $0) - -# The old version of protobuf that we are testing compatibility against. -case "$1" in - ""|3.3.0) - OLD_VERSION=3.3.0 - OLD_VERSION_PROTOC=http://repo1.maven.org/maven2/com/google/protobuf/protoc/3.3.0/protoc-3.3.0-linux-x86_64.exe - ;; - *) - echo "[ERROR]: Unknown version number: $1" - exit 1 - ;; -esac - -# Extract the latest protobuf version number. -VERSION_NUMBER=`grep "PHP_PROTOBUF_VERSION" ../ext/google/protobuf/protobuf.h | sed "s|#define PHP_PROTOBUF_VERSION \"\(.*\)\"|\1|"` - -echo "Running compatibility tests between $VERSION_NUMBER and $OLD_VERSION" - -# Check protoc -[ -f ../../src/protoc ] || { - echo "[ERROR]: Please build protoc first." - exit 1 -} - -# Download old test. -rm -rf protobuf -git clone https://github.com/google/protobuf.git -pushd protobuf -git checkout v$OLD_VERSION -popd - -# Build and copy the new runtime -use_php 5.5 -pushd ../ext/google/protobuf -make clean || true -phpize && ./configure && make -popd - -rm -rf protobuf/php/ext -rm -rf protobuf/php/src -cp -r ../ext protobuf/php/ext/ -cp -r ../src protobuf/php/src/ - -# Download old version protoc compiler (for linux) -wget $OLD_VERSION_PROTOC -O old_protoc -chmod +x old_protoc - -NEW_PROTOC=`pwd`/../../src/protoc -OLD_PROTOC=`pwd`/old_protoc -cd protobuf/php -cp -r /usr/local/vendor-5.5 vendor -wget https://phar.phpunit.de/phpunit-4.8.0.phar -O /usr/bin/phpunit - -# Remove implementation detail tests. -tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php ) -sed -i.bak '/php_implementation_test.php/d' phpunit.xml -for t in "${tests[@]}" -do - remove_error_test tests/$t -done - -cd tests - -# Test A.1: -# proto set 1: use old version -# proto set 2 which may import protos in set 1: use old version -generate_proto $OLD_PROTOC $OLD_PROTOC -./test.sh -pushd .. -phpunit -popd - -# Test A.2: -# proto set 1: use new version -# proto set 2 which may import protos in set 1: use old version -generate_proto $NEW_PROTOC $OLD_PROTOC -./test.sh -pushd .. -phpunit -popd - -# Test A.3: -# proto set 1: use old version -# proto set 2 which may import protos in set 1: use new version -generate_proto $OLD_PROTOC $NEW_PROTOC -./test.sh -pushd .. -phpunit -popd |