#!/bin/bash # We do not use a tmpfs out/target/product in this test NO_TMPFS_TARGET_PRODUCT=y . $PWD/setup-android.sh [[ $JENKINS_MODE ]] && sudo chmod 1777 /tmp : ${TEST_ART_COMMAND:=test-art-host} TEST_ART_OUTPUT_DIR=$WORKSPACE/$TEST_ART_COMMAND/ export GTEST_OUTPUT=xml:$TEST_ART_OUTPUT_DIR MAKE_TARGETS=$TEST_ART_COMMAND mkdir -p $WORKSPACE/$TEST_ART_COMMAND/ MAKE_START=$(date +%s.%N) source build/envsetup.sh lunch armv8-userdebug ./art/tools/buildbot-build.sh -j8 --host export ART_TEST_FULL=false export ART_TEST_INTERPRETER=true export ART_TEST_KEEP_GOING=true export ART_TEST_OPTIMIZING=true export ART_TEST_RUN_TEST_2ND_ARCH=false export ART_TEST_RUN_TEST_DEBUG=false export ART_TEST_RUN_TEST_NDEBUG=true export ART_USE_OPTIMIZING_COMPILER=true actually_failed=0 make -j4 $MAKE_TARGETS > $WORKSPACE/build-logs.txt 2>&1 if [[ $? -ne 0 ]]; then cat $WORKSPACE/build-logs.txt cat $WORKSPACE/build-logs.txt | grep -i "FAILED!" > $WORKSPACE/failed-test.txt grep " FAILED" $WORKSPACE/build-logs.txt | grep "^test" | sed -e "s/ FAILED//g" | grep gtest >> $WORKSPACE/failed-test.txt grep "\[91mFAILED" $WORKSPACE/build-logs.txt | grep "^test" | sed -e "s/ .*//g" >> $WORKSPACE/failed-test.txt sed -i "s/.*test\///g" $WORKSPACE/failed-test.txt sed -i "s/: FAILED\!//g" $WORKSPACE/failed-test.txt IFS=';' read -r -a ignored_tests <<< $CURRENT_FAILING_ART_TESTS for test in ${ignored_tests[@]} do echo $test >> $WORKSPACE/ignored_tests.txt done while read p; do if ! grep -i $p $WORKSPACE/ignored_tests.txt; then actually_failed=1 export failing_tests="$failing_tests $p" fi done < $WORKSPACE/failed-test.txt fi MAKE_TIME=$(echo "$MAKE_END - $MAKE_START" | bc) echo "YVALUE=$MAKE_TIME" > $WORKSPACE/make_time.txt echo "YVALUE=$REPO_TIME" > $WORKSPACE/repo_time.txt ccache -s if [[ $actually_failed -ne 0 ]]; then echo "$failing_tests tests have failed" exit 1 fi