From bcb32c0b8692774634cb9de10be921d11d7fbf8a Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Fri, 30 Sep 2016 19:07:33 +0000 Subject: Test php5.5_c test on jenkins --- jenkins/pull_request_in_docker.sh | 7 +----- php/tests/test.sh | 10 ++++---- tests.sh | 49 ++++++++++++++++++++++++--------------- 3 files changed, 36 insertions(+), 30 deletions(-) diff --git a/jenkins/pull_request_in_docker.sh b/jenkins/pull_request_in_docker.sh index 66f3bb23..b843a355 100755 --- a/jenkins/pull_request_in_docker.sh +++ b/jenkins/pull_request_in_docker.sh @@ -58,12 +58,7 @@ parallel --results $LOG_OUTPUT_DIR --joblog $OUTPUT_DIR/joblog $TEST_SCRIPT ::: ruby_all \ javascript \ golang \ - php5.5 \ - php5.6 \ - php7.0 \ - php5.5_c \ - php5.6_c \ - php7.0_c \ + php_all \ || true # Process test results even if tests fail. cat $OUTPUT_DIR/joblog diff --git a/php/tests/test.sh b/php/tests/test.sh index f3f04a47..15df768c 100755 --- a/php/tests/test.sh +++ b/php/tests/test.sh @@ -1,10 +1,5 @@ #!/bin/bash -# Compile protoc -pushd ../../ -./autogen.sh && ./configure && make -popd - # Generate test file ../../src/protoc --php_out=. test.proto test_include.proto @@ -29,4 +24,9 @@ done # Make sure to run the memory test in debug mode. php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php +php --version +which php +pwd +ls +ls -l `which php` USE_ZEND_ALLOC=0 valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php diff --git a/tests.sh b/tests.sh index e6595044..f0d2abc9 100755 --- a/tests.sh +++ b/tests.sh @@ -334,54 +334,64 @@ build_javascript() { cd js && npm install && npm test && cd .. } +use_php() { + VERSION=$1 + PHP=`which php` + PHP_CONFIG=`which php-config` + PHPIZE=`which phpize` + rm $PHP + rm $PHP_CONFIG + rm $PHPIZE + cp "/usr/bin/php$VERSION" $PHP + cp "/usr/bin/php-config$VERSION" $PHP_CONFIG + cp "/usr/bin/phpize$VERSION" $PHPIZE +} + build_php5.5_c() { - ln -sfn /usr/bin/php5.5 /usr/bin/php - ln -sfn /usr/bin/php-config5.5 /usr/bin/php-config - ln -sfn /usr/bin/phpize5.5 /usr/bin/phpize + use_php 5.5 cd php/tests && /bin/bash ./test.sh && cd ../.. } build_php5.5() { - ln -sfn /usr/bin/php5.5 /usr/bin/php - ln -sfn /usr/bin/php-config5.5 /usr/bin/php-config - ln -sfn /usr/bin/phpize5.5 /usr/bin/phpize + use_php 5.5 rm -rf vendor cp -r /usr/local/vendor-5.5 vendor ./vendor/bin/phpunit } build_php5.6_c() { - ln -sfn /usr/bin/php5.6 /usr/bin/php - ln -sfn /usr/bin/php-config5.6 /usr/bin/php-config - ln -sfn /usr/bin/phpize5.6 /usr/bin/phpize + use_php 5.6 cd php/tests && /bin/bash ./test.sh && cd ../.. } build_php5.6() { - ln -sfn /usr/bin/php5.6 /usr/bin/php - ln -sfn /usr/bin/php-config5.6 /usr/bin/php-config - ln -sfn /usr/bin/phpize5.6 /usr/bin/phpize + use_php 5.6 rm -rf vendor cp -r /usr/local/vendor-5.6 vendor ./vendor/bin/phpunit } build_php7.0_c() { - ln -sfn /usr/bin/php7.0 /usr/bin/php - ln -sfn /usr/bin/php-config7.0 /usr/bin/php-config - ln -sfn /usr/bin/phpize7.0 /usr/bin/phpize + use_php 7.0 cd php/tests && /bin/bash ./test.sh && cd ../.. } build_php7.0() { - ln -sfn /usr/bin/php7.0 /usr/bin/php - ln -sfn /usr/bin/php-config7.0 /usr/bin/php-config - ln -sfn /usr/bin/phpize7.0 /usr/bin/phpize + use_php 7.0 rm -rf vendor cp -r /usr/local/vendor-7.0 vendor ./vendor/bin/phpunit } +build_php_all() { + build_php5.5 + build_php5.6 + build_php7.0 + build_php5.5_c + build_php5.6_c + # build_php7.0_c +} + # Note: travis currently does not support testing more than one language so the # .travis.yml cheats and claims to only be cpp. If they add multiple language # support, this should probably get updated to install steps and/or @@ -418,7 +428,8 @@ Usage: $0 { cpp | php5.6 | php5.6_c | php7.0 | - php7.0_c) + php7.0_c | + php_all) " exit 1 fi -- cgit v1.2.3