aboutsummaryrefslogtreecommitdiff
path: root/tests.sh
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2016-09-30 00:07:47 +0000
committerBo Yang <teboring@google.com>2016-10-10 11:44:21 -0700
commitfd332d146d345a04c8d7c6874b8fb654d2621902 (patch)
tree0d2f945d2f80f5a1d0b733e3de51dd102320d6c6 /tests.sh
parent89db7ce02bd57e8de55b1e0bf40256be312eb8d2 (diff)
downloadprotobuf-fd332d146d345a04c8d7c6874b8fb654d2621902.tar.gz
protobuf-fd332d146d345a04c8d7c6874b8fb654d2621902.tar.bz2
protobuf-fd332d146d345a04c8d7c6874b8fb654d2621902.zip
Add php test script for automated tests.
Diffstat (limited to 'tests.sh')
-rwxr-xr-xtests.sh64
1 files changed, 59 insertions, 5 deletions
diff --git a/tests.sh b/tests.sh
index a39448ac..e6595044 100755
--- a/tests.sh
+++ b/tests.sh
@@ -35,9 +35,7 @@ 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.
git submodule init
@@ -52,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`
@@ -297,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
@@ -334,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
@@ -364,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