|
@@ -22,52 +22,4 @@ cd protobuf
|
|
# Initialize any submodules:
|
|
# Initialize any submodules:
|
|
git submodule update --init --recursive
|
|
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
|