Add php test script for automated tests.

This commit is contained in:
Bo Yang 2016-09-30 00:07:47 +00:00
parent b9bad65bf3
commit 1baaedfb3d

View File

@ -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