Leonardo Sandoval | 9dfdd1b | 2020-08-06 17:08:11 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 2 | # |
Saul Romero | 82bcfb0 | 2023-06-27 16:24:13 +0100 | [diff] [blame^] | 3 | # Copyright (c) 2019-2023, Arm Limited. All rights reserved. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | |
| 8 | set -e |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 9 | set -x |
| 10 | export COVERAGE_ON=$((echo "$RUN_CONFIG" | grep -v 'aarch32' | grep -qE 'bmcov' && echo 1) || |
| 11 | (echo "${TEST_GROUP}" | grep -v 'aarch32' | grep -qE 'code-coverage' && echo 1) || |
| 12 | echo 0) |
| 13 | echo "COVERAGE_ON=${COVERAGE_ON}" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 14 | |
Zelalem | 917b43e | 2020-08-04 11:39:55 -0500 | [diff] [blame] | 15 | if [ $COVERAGE_ON -eq 1 ]; then |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 16 | # Load code coverage binary |
| 17 | echo "Code coverage for binaries enabled..." |
| 18 | export OUTDIR=${WORKSPACE}/html |
| 19 | mkdir -p $OUTDIR |
| 20 | source "$CI_ROOT/script/qa-code-coverage.sh" |
| 21 | fi |
| 22 | |
| 23 | |
| 24 | if [ $COVERAGE_ON -eq 1 ]; then |
| 25 | LIST_OF_BINARIES="" |
| 26 | OBJDUMP="$(which 'aarch64-none-elf-objdump')" |
| 27 | READELF="$(which 'aarch64-none-elf-readelf')" |
| 28 | FALLBACK_PLUGIN_URL="http://files.oss.arm.com/downloads/personal/saurom01/qa-tools-cc/11.17/21" |
| 29 | FALLBACK_FILES="coverage_trace.so,coverage_trace.o,plugin_utils.o" |
| 30 | |
| 31 | if [[ "$TEST_GROUP" == scp* ]]; then |
| 32 | PROJECT="SCP" |
| 33 | LIST_OF_BINARIES="scp_ram.elf scp_rom.elf mcp_rom.elf mcp_ram.elf" |
| 34 | OBJDUMP="$(which 'arm-none-eabi-objdump')" |
| 35 | READELF="$(which 'arm-none-eabi-readelf')" |
| 36 | FALLBACK_PLUGIN_URL="http://files.oss.arm.com/downloads/tf-a/coverage-plugin" |
| 37 | FALLBACK_FILES="CoverageTrace.so,CoverageTrace.o,PluginUtils.o" |
Saul Romero | 82bcfb0 | 2023-06-27 16:24:13 +0100 | [diff] [blame^] | 38 | elif [[ "$TEST_GROUP" == spm* ]];then |
| 39 | PROJECT="HAFNIUM" |
| 40 | LIST_OF_BINARIES="secure_hafnium.elf hafnium.elf" |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 41 | elif [[ "$TEST_GROUP" == tf* ]];then |
| 42 | PROJECT="TF-A" |
| 43 | LIST_OF_BINARIES="bl1.elf bl2.elf bl31.elf" |
| 44 | FALLBACK_PLUGIN_URL="http://files.oss.arm.com/downloads/tf-a/coverage-plugin" |
| 45 | FALLBACK_FILES="CoverageTrace.so,CoverageTrace.o,PluginUtils.o" |
| 46 | else |
| 47 | echo "No project assigned for $TEST_GROUP ..." |
| 48 | exit -1 |
| 49 | fi |
| 50 | # Plugin has to be built before running model |
| 51 | build_tool |
Zelalem | 917b43e | 2020-08-04 11:39:55 -0500 | [diff] [blame] | 52 | fi |
| 53 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 54 | "$CI_ROOT/script/build_package.sh" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 55 | if [ "$skip_runs" ]; then |
| 56 | exit 0 |
| 57 | fi |
| 58 | |
| 59 | # Execute test locally for FVP configs |
| 60 | if [ "$RUN_CONFIG" != "nil" ] && echo "$RUN_CONFIG" | grep -iq '^fvp'; then |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 61 | export BIN_MODE=debug |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 62 | "$CI_ROOT/script/run_package.sh" |
Zelalem | 917b43e | 2020-08-04 11:39:55 -0500 | [diff] [blame] | 63 | |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 64 | if [ $COVERAGE_ON -eq 1 ]; then |
Zelalem | 917b43e | 2020-08-04 11:39:55 -0500 | [diff] [blame] | 65 | sync |
Saul Romero | cacda17 | 2023-03-10 14:23:41 +0000 | [diff] [blame] | 66 | sleep 5 # wait for trace files to be written |
| 67 | ELF_FOLDER=$artefacts/$BIN_MODE |
| 68 | TRACE_FOLDER=$artefacts/$BIN_MODE |
| 69 | echo "Toolchain:$OBJDUMP" |
| 70 | create_intermediate_layer "${TRACE_FOLDER}" "${ELF_FOLDER}" "${LIST_OF_BINARIES}" |
| 71 | create_coverage_report |
Zelalem | 917b43e | 2020-08-04 11:39:55 -0500 | [diff] [blame] | 72 | fi |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 73 | fi |