summaryrefslogtreecommitdiff
path: root/test-art-host-test.sh
blob: 224ba1dbd32ece0dc6be0e92a89b58e64c50425f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/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