80 lines
2.1 KiB
Bash
80 lines
2.1 KiB
Bash
# This file must be "sourced" from a parent shell!
|
|
#
|
|
# run_tests_common.sh
|
|
#
|
|
# This is a collection of common variable settings for stm32 unit tests.
|
|
#
|
|
# The variable $SCRIPTS must be set when this is called.
|
|
|
|
if [ -z ${SCRIPTS+x} ]; then
|
|
echo "Error, run_tests_common.sh requires that \$SCRIPTS be set!"
|
|
exit 1
|
|
fi
|
|
|
|
#######################################
|
|
# Set default directories based on the parent of the SCRIPTS variable.
|
|
set -a
|
|
|
|
#UNITTEST_BASE - Location of STM32 Unittests and files
|
|
UNITTEST_BASE="$( cd "$( dirname "${SCRIPTS}" )" >/dev/null && pwd )"
|
|
|
|
# STM32_BASE - Base directory of Stm32 files
|
|
STM32_BASE="$( cd "$( dirname "${UNITTEST_BASE}" )" >/dev/null && pwd )"
|
|
|
|
# STM32_BUILD - Build directory of Stm32 files
|
|
STM32_BUILD="${STM32_BASE}/build_stm32"
|
|
|
|
# UNITTEST_BIN - Location of STM32 unittest binaries
|
|
UNITTEST_BIN="${STM32_BUILD}/unittest/src"
|
|
|
|
# CODEC2_BASE - Base directory of Codec2
|
|
CODEC2_BASE="$( cd "$( dirname "${STM32_BASE}" )" >/dev/null && pwd )"
|
|
|
|
# CODEC2_BIN - Location of x86 utiliy programs for Codec2
|
|
CODEC2_BIN="${CODEC2_BASE}/build_linux/src"
|
|
|
|
# CODEC2_UTST - Location of x86 utiliy programs for Codec2 unittest
|
|
CODEC2_UTST="${CODEC2_BASE}/build_linux/unittest"
|
|
|
|
set +a
|
|
|
|
#######################################
|
|
# Add directories to PATH
|
|
export PATH=${PATH}:${SCRIPTS}:${CODEC2_BIN}:${CODEC2_UTST}
|
|
|
|
|
|
#######################################
|
|
# Parse command line options
|
|
# Options (starting with "--") are stored in $ARGS.
|
|
# Non-options are taken as the test name, then as a test option (optional)
|
|
declare -A ARGS
|
|
unset TEST
|
|
unset TEST_OPT
|
|
for arg in "$@"; do
|
|
if [[ ${arg} == --* ]] ; then ARGS[${arg}]=true
|
|
else
|
|
if [ -z ${TEST+x} ]; then TEST=${arg}
|
|
else TEST_OPT=${arg}
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Prepend the common test name to the option if given
|
|
if [ -n "$TEST_OPT" ] ; then FULL_TEST_NAME="${TEST}_${TEST_OPT}"
|
|
else FULL_TEST_NAME="${TEST}"
|
|
fi
|
|
|
|
#######################################
|
|
# A function for setup
|
|
|
|
setup_common () {
|
|
|
|
if [ ${ARGS[--clean]+_} ] ; then
|
|
if [ -d "${1}" ] ; then rm -rf "${1}"; fi
|
|
fi
|
|
|
|
# Make run directory if needed
|
|
if [ ! -d "${1}" ] ; then mkdir -p "${1}"; fi
|
|
|
|
}
|