Pārlūkot izejas kodu

Test php5.5_c test on jenkins

Bo Yang 9 gadi atpakaļ
vecāks
revīzija
c8bd36e5b9
3 mainītis faili ar 36 papildinājumiem un 30 dzēšanām
  1. 1 6
      jenkins/pull_request_in_docker.sh
  2. 5 5
      php/tests/test.sh
  3. 30 19
      tests.sh

+ 1 - 6
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

+ 5 - 5
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

+ 30 - 19
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