Try running multiple tests in a row.
This commit is contained in:
parent
d33e93b833
commit
738393b2c0
@ -10,7 +10,7 @@ os:
|
||||
# The Objective C build needs Xcode 7.0 or later.
|
||||
osx_image: xcode7.2
|
||||
script:
|
||||
- ./tools/run_tests/travis.sh $CONFIG
|
||||
- ./tools/run_tests/tests.sh $CONFIG
|
||||
env:
|
||||
- CONFIG=cpp
|
||||
- CONFIG=cpp_distcheck
|
||||
|
@ -1,17 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
MY_DIR="$(dirname "$0")"
|
||||
TEST_SCRIPT=$MY_DIR/tests.sh
|
||||
BUILD_DIR=/tmp/protobuf
|
||||
|
||||
source $MY_DIR/tests.sh
|
||||
|
||||
# Set value used in tests.sh.
|
||||
PARALLELISM=-j8
|
||||
|
||||
set -x # display all commands
|
||||
|
||||
rm -rf $BUILD_DIR
|
||||
mkdir -p $BUILD_DIR
|
||||
cd $BUILD_DIR
|
||||
git clone /var/local/jenkins/protobuf
|
||||
cd protobuf
|
||||
|
||||
build_cpp
|
||||
# If protoc fails to build, we can't test anything else.
|
||||
$TEST_SCRIPT cpp || exit 1
|
||||
|
||||
# Other tests can fail and we keep on going.
|
||||
$TEST_SCRIPT java_jdk6
|
||||
$TEST_SCRIPT java_jdk7
|
||||
|
49
tools/run_tests/tests.sh
Normal file → Executable file
49
tools/run_tests/tests.sh
Normal file → Executable file
@ -1,9 +1,13 @@
|
||||
# This file is not intended to be executed directly. It is intended to be
|
||||
# included in a larger shell script.
|
||||
#!/bin/bash
|
||||
|
||||
# For when some other test needs the C++ main build, including protoc and
|
||||
# libprotobuf.
|
||||
internal_build_cpp() {
|
||||
if [ -f src/protoc ]; then
|
||||
# Already built.
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ $(uname -s) == "Linux" && "$TRAVIS" == "true" ]]; then
|
||||
# Install GCC 4.8 to replace the default GCC 4.6. We need 4.8 for more
|
||||
# decent C++ 11 support in order to compile conformance tests.
|
||||
@ -277,3 +281,44 @@ build_javascript() {
|
||||
cd js && npm install && npm test && cd ..
|
||||
}
|
||||
|
||||
[ -n "${PARALLELISM}" ] && PARALLELISM=-j8
|
||||
|
||||
# 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
|
||||
# rvm/gemfile/jdk/etc. entries rather than manually doing the work.
|
||||
|
||||
# .travis.yml uses matrix.exclude to block the cases where app-get can't be
|
||||
# use to install things.
|
||||
|
||||
# -------- main --------
|
||||
|
||||
# Set value used in tests.sh.
|
||||
PARALLELISM=-j2
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "
|
||||
Usage: $0 { cpp |
|
||||
csharp |
|
||||
java_jdk6 |
|
||||
java_jdk7 |
|
||||
java_oracle7 |
|
||||
javanano_jdk6 |
|
||||
javanano_jdk7 |
|
||||
javanano_oracle7 |
|
||||
objectivec_ios |
|
||||
objectivec_osx |
|
||||
python |
|
||||
python_cpp |
|
||||
ruby_19 |
|
||||
ruby_20 |
|
||||
ruby_21 |
|
||||
ruby_22 |
|
||||
jruby }
|
||||
"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e # exit immediately on error
|
||||
set -x # display all commands
|
||||
eval "build_$1"
|
||||
|
@ -1,45 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
MY_DIR="$(dirname "$0")"
|
||||
|
||||
source $MY_DIR/tests.sh
|
||||
|
||||
# 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
|
||||
# rvm/gemfile/jdk/etc. entries rather than manually doing the work.
|
||||
|
||||
# .travis.yml uses matrix.exclude to block the cases where app-get can't be
|
||||
# use to install things.
|
||||
|
||||
# -------- main --------
|
||||
|
||||
# Set value used in tests.sh.
|
||||
PARALLELISM=-j2
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "
|
||||
Usage: $0 { cpp |
|
||||
csharp |
|
||||
java_jdk6 |
|
||||
java_jdk7 |
|
||||
java_oracle7 |
|
||||
javanano_jdk6 |
|
||||
javanano_jdk7 |
|
||||
javanano_oracle7 |
|
||||
objectivec_ios |
|
||||
objectivec_osx |
|
||||
python |
|
||||
python_cpp |
|
||||
ruby_19 |
|
||||
ruby_20 |
|
||||
ruby_21 |
|
||||
ruby_22 |
|
||||
jruby }
|
||||
"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e # exit immediately on error
|
||||
set -x # display all commands
|
||||
eval "build_$1"
|
Loading…
Reference in New Issue
Block a user