From 1baaedfb3d3d716e32d4ff72079c0324da1bccac Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Fri, 30 Sep 2016 00:07:47 +0000 Subject: Add php test script for automated tests. --- tests.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file 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 -- cgit v1.2.3