aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/protobuf/3.4.0/php/tests/compatibility_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/protobuf/3.4.0/php/tests/compatibility_test.sh')
-rwxr-xr-xthird_party/protobuf/3.4.0/php/tests/compatibility_test.sh141
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