# SPDX-License-Identifier: GPL-2.0 # # settings.sh # Author: Michael Petlan # # Description: # # This file contains global settings for the whole testsuite. # Its purpose is to make it easier when it is necessary i.e. to # change the usual sample command which is used in all of the tests # in many files. # # This file is intended to be sourced in the tests. # #### which perf to use in the testing export CMD_PERF=${CMD_PERF:-`which perf`} #### basic programs examinated by perf export CMD_BASIC_SLEEP="sleep 0.1" export CMD_QUICK_SLEEP="sleep 0.01" export CMD_LONGER_SLEEP="sleep 2" export CMD_DOUBLE_LONGER_SLEEP="sleep 4" export CMD_VERY_LONG_SLEEP="sleep 30" export CMD_SIMPLE="true" #### testsuite run mode # define constants: export RUNMODE_BASIC=0 export RUNMODE_STANDARD=1 export RUNMODE_EXPERIMENTAL=2 # default runmode is STANDARD export PERFTOOL_TESTSUITE_RUNMODE=${PERFTOOL_TESTSUITE_RUNMODE:-$RUNMODE_STANDARD} #### common settings export TESTLOG_VERBOSITY=${TESTLOG_VERBOSITY:-2} export TESTLOG_FORCE_COLOR=${TESTLOG_FORCE_COLOR:-n} export TESTLOG_ERR_MSG_MAX_LINES=${TESTLOG_ERR_MSG_MAX_LINES:-20} export TESTLOG_CLEAN=${TESTLOG_CLEAN:-y} #### other environment-related settings export TEST_IGNORE_MISSING_PMU=${TEST_IGNORE_MISSING_PMU:-n} #### clear locale export LC_ALL=C #### colors if [ -t 1 ] || [ "$TESTLOG_FORCE_COLOR" = "yes" ]; then export MPASS="\e[32m" export MALLPASS="\e[1;32m" export MFAIL="\e[31m" export MALLFAIL="\e[1;31m" export MWARN="\e[1;35m" export MSKIP="\e[33m" export MHIGH="\e[1;33m" export MEND="\e[m" else export MPASS="" export MALLPASS="" export MFAIL="" export MALLFAIL="" export MWARN="" export MSKIP="" export MHIGH="" export MEND="" fi ### general info DIR_PATH=`dirname "$(readlink -e "$0")"` TEST_NAME=`basename $DIR_PATH | sed 's/base/perf/'`; export TEST_NAME MY_ARCH=`arch`; export MY_ARCH # storing logs and temporary files variables if [ -n "$PERFSUITE_RUN_DIR" ]; then # when $PERFSUITE_RUN_DIR is set to something, all the logs and temp files will be placed there # --> the $PERFSUITE_RUN_DIR/perf_something/examples and $PERFSUITE_RUN_DIR/perf_something/logs # dirs will be used for that PERFSUITE_RUN_DIR=`readlink -f $PERFSUITE_RUN_DIR`; export PERFSUITE_RUN_DIR export CURRENT_TEST_DIR="$PERFSUITE_RUN_DIR/$TEST_NAME" export MAKE_TARGET_DIR="$CURRENT_TEST_DIR/examples" export LOGS_DIR="$CURRENT_TEST_DIR/logs" export HEADER_TAR_DIR="$CURRENT_TEST_DIR/header_tar" test -d "$CURRENT_TEST_DIR" || mkdir -p "$CURRENT_TEST_DIR" test -d "$LOGS_DIR" || mkdir -p "$LOGS_DIR" else # when $PERFSUITE_RUN_DIR is not set, logs will be placed here export CURRENT_TEST_DIR="." export LOGS_DIR="." export HEADER_TAR_DIR="./header_tar" fi #### test parametrization if [ ! -d ./common ]; then # set parameters based on runmode if [ -f ../common/parametrization.$PERFTOOL_TESTSUITE_RUNMODE.sh ]; then # shellcheck source=/dev/null . ../common/parametrization.$PERFTOOL_TESTSUITE_RUNMODE.sh fi # if some parameters haven't been set until now, set them to default if [ -f ../common/parametrization.sh ]; then . ../common/parametrization.sh fi fi