Merge remote-tracking branch 'google/master' into integration_base
This commit is contained in:
commit
8e4fd1b4e8
@ -8,7 +8,6 @@
|
||||
# OUTPUT_DIR - Directory that will be copied from inside docker after finishing.
|
||||
# $@ - Extra args to pass to docker run
|
||||
|
||||
|
||||
set -ex
|
||||
|
||||
cd $(dirname $0)/../..
|
||||
@ -39,7 +38,6 @@ docker run \
|
||||
-e KOKORO_BUILD_ID=$KOKORO_BUILD_ID \
|
||||
-e EXTERNAL_GIT_ROOT="/var/local/kokoro/protobuf" \
|
||||
-e TEST_SET="$TEST_SET" \
|
||||
-e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \
|
||||
-v "$git_root:/var/local/kokoro/protobuf:ro" \
|
||||
-v $CCACHE_DIR:$CCACHE_DIR \
|
||||
-w /var/local/git/protobuf \
|
||||
@ -47,16 +45,9 @@ docker run \
|
||||
$DOCKER_IMAGE_NAME \
|
||||
bash -l "/var/local/kokoro/protobuf/$DOCKER_RUN_SCRIPT" || FAILED="true"
|
||||
|
||||
# Copy output artifacts
|
||||
if [ "$OUTPUT_DIR" != "" ]
|
||||
then
|
||||
docker cp "$CONTAINER_NAME:/var/local/git/protobuf/$OUTPUT_DIR" "${git_root}/kokoro" || FAILED="true"
|
||||
fi
|
||||
|
||||
# remove the container, possibly killing it first
|
||||
docker rm -f $CONTAINER_NAME || true
|
||||
|
||||
if [ "$FAILED" != "" ]
|
||||
then
|
||||
[ -z "$FAILED" ] || {
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
@ -22,52 +22,4 @@ cd protobuf
|
||||
# Initialize any submodules:
|
||||
git submodule update --init --recursive
|
||||
|
||||
# Set up the directory where our test output is going to go.
|
||||
OUTPUT_DIR=`mktemp -d`
|
||||
LOG_OUTPUT_DIR=$OUTPUT_DIR/logs
|
||||
mkdir -p $LOG_OUTPUT_DIR/1/cpp
|
||||
|
||||
################################################################################
|
||||
# cpp build needs to run first, non-parallelized, so that protoc is available
|
||||
# for other builds.
|
||||
|
||||
# Output filenames to follow the overall scheme used by parallel, ie:
|
||||
# $DIR/logs/1/cpp/stdout
|
||||
# $DIR/logs/1/cpp/stderr
|
||||
# $DIR/logs/1/csharp/stdout
|
||||
# $DIR/logs/1/csharp/stderr
|
||||
# $DIR/logs/1/java_jdk7/stdout
|
||||
# $DIR/logs/1/java_jdk7/stderr
|
||||
CPP_STDOUT=$LOG_OUTPUT_DIR/1/cpp/stdout
|
||||
CPP_STDERR=$LOG_OUTPUT_DIR/1/cpp/stderr
|
||||
|
||||
# Time the C++ build, so we can put this info in the test output.
|
||||
# It's important that we get /usr/bin/time (which supports -f and -o) and not
|
||||
# the bash builtin "time" which doesn't.
|
||||
TIME_CMD="/usr/bin/time -f %e -o $LOG_OUTPUT_DIR/1/cpp/build_time"
|
||||
|
||||
$TIME_CMD $TEST_SCRIPT cpp > >(tee $CPP_STDOUT) 2> >(tee $CPP_STDERR >&2)
|
||||
|
||||
# Other tests are run in parallel. TEST_SET is defined in
|
||||
# buildcmds/pull_request{_32}.sh
|
||||
|
||||
parallel --results $LOG_OUTPUT_DIR --joblog $OUTPUT_DIR/joblog $TEST_SCRIPT ::: \
|
||||
$TEST_SET \
|
||||
|| FAILED="true" # Process test results even if tests fail.
|
||||
|
||||
cat $OUTPUT_DIR/joblog
|
||||
|
||||
# The directory that is copied from Docker back into the Kokoro workspace.
|
||||
COPY_FROM_DOCKER=/var/local/git/protobuf/testoutput
|
||||
mkdir -p $COPY_FROM_DOCKER
|
||||
TESTOUTPUT_XML_FILE=$COPY_FROM_DOCKER/sponge_log.xml
|
||||
|
||||
# Process all the output files from "parallel" and package them into a single
|
||||
# .xml file with detailed, broken-down test output.
|
||||
python $MY_DIR/make_test_output.py $OUTPUT_DIR > $TESTOUTPUT_XML_FILE
|
||||
|
||||
ls -l $TESTOUTPUT_XML_FILE
|
||||
|
||||
if [ "$FAILED" == "true" ]; then
|
||||
exit 1
|
||||
fi
|
||||
$TEST_SCRIPT $TEST_SET
|
||||
|
@ -1055,7 +1055,7 @@ TEST(ExtensionSetTest, RepeatedFields) {
|
||||
unittest::repeated_nested_enum_extension).begin(),
|
||||
enum_const_end = message.GetRepeatedExtension(
|
||||
unittest::repeated_nested_enum_extension).end();
|
||||
enum_iter != enum_end; ++enum_iter) {
|
||||
enum_const_iter != enum_const_end; ++enum_const_iter) {
|
||||
ASSERT_EQ(*enum_const_iter, unittest::TestAllTypes::NestedEnum_MAX);
|
||||
}
|
||||
|
||||
|
6
tests.sh
6
tests.sh
@ -18,12 +18,12 @@ internal_build_cpp() {
|
||||
./autogen.sh
|
||||
./configure CXXFLAGS="-fPIC" # -fPIC is needed for python cpp test.
|
||||
# See python/setup.py for more details
|
||||
make -j2
|
||||
make -j4
|
||||
}
|
||||
|
||||
build_cpp() {
|
||||
internal_build_cpp
|
||||
make check -j2 || (cat src/test-suite.log; false)
|
||||
make check -j4 || (cat src/test-suite.log; false)
|
||||
cd conformance && make test_cpp && cd ..
|
||||
|
||||
# The benchmark code depends on cmake, so test if it is installed before
|
||||
@ -68,7 +68,7 @@ build_cpp_distcheck() {
|
||||
fi
|
||||
|
||||
# Do the regular dist-check for C++.
|
||||
make distcheck -j2
|
||||
make distcheck -j4
|
||||
}
|
||||
|
||||
build_csharp() {
|
||||
|
Loading…
Reference in New Issue
Block a user