~aleteoryx/muditaos

ref: c275480fa5447588b979052e04855cbd35263829 muditaos/tools/run_unittests.sh -rwxr-xr-x 1.2 KiB
c275480f — Kuba [EGD-4990] Add UT for at+ccfc parser 5 years ago
                                                                                
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 -e
# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

root_dir="$(realpath $(dirname $(realpath $0))/..)"
build_dir="${root_dir}/build-linux-Debug"


function help() {
    cat <<- EOF
		Usage: $0 tests_list
	EOF
}

trim() {
    local var="$*"
    # remove leading whitespace characters
    var="${var#"${var%%[![:space:]]*}"}"
    # remove trailing whitespace characters
    var="${var%"${var##*[![:space:]]}"}"   
    printf '%s' "$var"
}

if [[ $# -ne 1 ]]; then
    help
    exit 1
fi

TESTS_FILE=$1

if [[ ! -r ${TESTS_FILE} ]]; then
    echo "Cannot read: \"${TESTS_FILE}\""
    exit 2
fi

TEMP_SOURCE=$(mktemp)

sed -e '/^[[:space:]]*#.*/d' ${TESTS_FILE} > $TEMP_SOURCE

source ${TEMP_SOURCE}

pushd ${build_dir}
for TEST_BINARY in catch2-*
do
    echo "= ${TEST_BINARY} ="
    readarray -d\; -t TESTS < <(echo ${TESTS_LIST["${TEST_BINARY}"]} | tr "\n" " " )
    I=0
    while [[ $I -lt ${#TESTS[@]} ]]
    do
        CUR_TEST=$( trim ${TESTS[$I]}) 
        if [[ -n "${CUR_TEST}" ]]; then
            echo ${TEST_BINARY} \"${CUR_TEST}\"
            ./${TEST_BINARY} "${CUR_TEST}"
        fi
        I=$(( $I + 1 ))
    done
done
popd