aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2016-09-30 00:07:47 +0000
committerBo Yang <teboring@google.com>2016-09-30 01:08:33 +0000
commit1baaedfb3d3d716e32d4ff72079c0324da1bccac (patch)
treeb3a9decd693060d25ba4f0c1071c41ed5507363e
parentb9bad65bf32cebc6210b4da9251919503d479dbd (diff)
downloadprotobuf-1baaedfb3d3d716e32d4ff72079c0324da1bccac.tar.gz
protobuf-1baaedfb3d3d716e32d4ff72079c0324da1bccac.tar.bz2
protobuf-1baaedfb3d3d716e32d4ff72079c0324da1bccac.zip
Add php test script for automated tests.
-rwxr-xr-xtests.sh71
1 files changed, 63 insertions, 8 deletions
diff --git a/tests.sh b/tests.sh
index c8c7dabc..e6595044 100755
--- a/tests.sh
+++ b/tests.sh
@@ -35,14 +35,13 @@ internal_build_cpp() {
build_cpp() {
internal_build_cpp
make check -j2
- pushd conformance
- make test_cpp
- popd
+ cd conformance && make test_cpp && cd ..
# Verify benchmarking code can build successfully.
- pushd benchmarks
- make && ./generate-datasets
- popd
+ git submodule init
+ git submodule update
+ cd third_party/benchmark && cmake -DCMAKE_BUILD_TYPE=Release && make && cd ../..
+ cd benchmarks && make && ./generate-datasets && cd ..
}
build_cpp_distcheck() {
@@ -51,7 +50,7 @@ build_cpp_distcheck() {
make dist
# List all files that should be included in the distribution package.
- git ls-files | grep "^\(java\|python\|objectivec\|csharp\|js\|ruby\|php\|cmake\|examples\)" |\
+ git ls-files | grep "^\(java\|python\|objectivec\|csharp\|js\|ruby\|cmake\|examples\)" |\
grep -v ".gitignore" | grep -v "java/compatibility_tests" > dist.lst
# Unzip the dist tar file.
DIST=`ls *.tar.gz`
@@ -296,6 +295,8 @@ build_python() {
build_python_cpp() {
internal_build_cpp
internal_install_python_deps
+ export LD_LIBRARY_PATH=../src/.libs # for Linux
+ export DYLD_LIBRARY_PATH=../src/.libs # for OS X
cd python
# Only test Python 2.6/3.x on Linux
if [ $(uname -s) == "Linux" ]; then
@@ -333,6 +334,54 @@ build_javascript() {
cd js && npm install && npm test && cd ..
}
+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
+ 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
+ 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
+ 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
+ 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
+ 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
+ rm -rf vendor
+ cp -r /usr/local/vendor-7.0 vendor
+ ./vendor/bin/phpunit
+}
+
# 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
@@ -363,7 +412,13 @@ Usage: $0 { cpp |
ruby21 |
ruby22 |
jruby |
- ruby_all)
+ ruby_all |
+ php5.5 |
+ php5.5_c |
+ php5.6 |
+ php5.6_c |
+ php7.0 |
+ php7.0_c)
"
exit 1
fi