HelpMessage() { echo "#######################################" echo "# Script runs the tests for Intel(R) ADL" echo "# Usage: ${BASH_SOURCE[1]} -o [-c ] [-a ] [-i ] [-m ] [-d ]" echo "# Args:" echo "# -o/--os - Target OS. Available OS: linux, qnx70. Default: linux" echo "# -c/--compiler - Compiler used for test. Available compilers are: intel1900, gnu540, gnu710 and so on" echo "# -a/--arch - Target architecture. Available architectures: intel64. Default: intel64" echo "# -i/--isa - ISA, Available ISAs: sse42, avx512. Default: sse42" echo "# -m/--mode - Test mode. Available modes: release, debug, relwithdebinfo, minsizerel. Default: release" echo "# -d/--domain - Domain to run. By default, all domains are selected for test" echo "# --test-case - Test case name. By default, all test cases are selected for run" echo "# --interface - Interface to test. Available interfaces: c, cpp. Default: both" echo "# -t/--test-type - Test type. Available types: correct_interface, incorrect_arguments, plausibility" echo "# --unit - Unit to test. By default, all domain units are selected for test" echo "#######################################" } ErrorMessage() { if [ $1 != 0 ]; then echo $2 - FAILED exit $1 fi } while [[ $# -ge 1 ]] do key="$1" case $key in -d|--domain) DOMAIN="$2" shift ;; -a|--arch) LIB_ARCH="$2" shift ;; --test-case) TEST_CASE="$2" shift ;; -i|--isa) ISA="$2" shift ;; --interface) INTERFACE="$2" shift ;; -c|--compiler) COMPILER="$2" shift ;; -o|--os) OS="$2" shift ;; -m|--mode) MODE="$2" shift ;; -t|--test-type) TEST_TYPE="$2" shift ;; --unit) UNIT="$2" shift ;; *) ;; esac shift done if [ "${OS}" == "" ]; then OS="linux" fi if [ "${ARCH}" == "" ]; then ARCH="intel64" fi if [ "${MODE}" == "" ]; then MODE="release" fi if [ "${COMPILER}" == "" ]; then ErrorMessage 1 "You have to set compiler" fi if [ "${INTERFACE}" == "" ]; then INTERFACE="*" fi if [ "${TEST_TYPE}" == "" ]; then TEST_TYPE="*" fi if [ "${DOMAIN}" == "" ]; then DOMAIN="*" fi if [ "${UNIT}" == "" ]; then UNIT="*" fi if [ "$TEST_CASE" == "" ]; then TEST_CASE="*" fi if [ "${ISA}" == "" ]; then ISA="sse42" fi echo "#######################################" echo "# Starting ADL TS" echo "# Test configuration:" echo "# COMPILER: ${COMPILER}" echo "# OS: ${OS}" echo "# LIB_ARCH: ${ARCH}" echo "# MODE: ${MODE}" echo "# ISA: ${ISA}" echo "# DOMAIN: ${DOMAIN}" echo "# TEST CASE: ${TEST_CASE}" echo "# TEST TYPE: ${TEST_TYPE}" echo "# UNIT: ${UNIT}" echo "# INTERFACE: ${INTERFACE}" echo "# Start time: `date`" echo "########################################" # Структура папок, где находятся тесты: # # _build/adl_ts____///_interface///unit_testing// # # Где: # os - Target OS. Available OS: linux, qnx70 # arch - Target architecture. Available architectures: intel64 # compiler - Compiler used for build. Available compilers are: intel1900, gnu540, gnu710 and so on # mode - Build mode. Available modes: release, debug # isa - ISA, Available ISAs: sse42, avx512 # interface - Interface to build. Available interfaces: c, cpp # domain - Domain to build # unit - Unit to build # test-type - Test type. Available types: correct_interface, incorrect_arguments, plausibility # test-case - Test case name for FILENAME in `find ./_build/adl_ts_${OS}_${ARCH}_${COMPILER}_${MODE}/${ARCH}/${ISA}/${INTERFACE}_interface/${DOMAIN}/${UNIT}/unit_testing/${TEST_TYPE}/ -type f -name "${TEST_CASE}*.exe"` do ./${FILENAME} done