1# SPDX-License-Identifier: GPL-2.0 2# 3# settings.sh 4# Author: Michael Petlan <mpetlan@redhat.com> 5# 6# Description: 7# 8# This file contains global settings for the whole testsuite. 9# Its purpose is to make it easier when it is necessary i.e. to 10# change the usual sample command which is used in all of the tests 11# in many files. 12# 13# This file is intended to be sourced in the tests. 14# 15 16#### which perf to use in the testing 17export CMD_PERF=${CMD_PERF:-`which perf`} 18 19#### basic programs examinated by perf 20export CMD_BASIC_SLEEP="sleep 0.1" 21export CMD_QUICK_SLEEP="sleep 0.01" 22export CMD_LONGER_SLEEP="sleep 2" 23export CMD_DOUBLE_LONGER_SLEEP="sleep 4" 24export CMD_VERY_LONG_SLEEP="sleep 30" 25export CMD_SIMPLE="true" 26 27#### testsuite run mode 28# define constants: 29export RUNMODE_BASIC=0 30export RUNMODE_STANDARD=1 31export RUNMODE_EXPERIMENTAL=2 32# default runmode is STANDARD 33export PERFTOOL_TESTSUITE_RUNMODE=${PERFTOOL_TESTSUITE_RUNMODE:-$RUNMODE_STANDARD} 34 35#### common settings 36export TESTLOG_VERBOSITY=${TESTLOG_VERBOSITY:-2} 37export TESTLOG_FORCE_COLOR=${TESTLOG_FORCE_COLOR:-n} 38export TESTLOG_ERR_MSG_MAX_LINES=${TESTLOG_ERR_MSG_MAX_LINES:-20} 39export TESTLOG_CLEAN=${TESTLOG_CLEAN:-y} 40 41#### other environment-related settings 42export TEST_IGNORE_MISSING_PMU=${TEST_IGNORE_MISSING_PMU:-n} 43 44#### clear locale 45export LC_ALL=C 46 47#### colors 48if [ -t 1 ] || [ "$TESTLOG_FORCE_COLOR" = "yes" ]; then 49 export MPASS="\e[32m" 50 export MALLPASS="\e[1;32m" 51 export MFAIL="\e[31m" 52 export MALLFAIL="\e[1;31m" 53 export MWARN="\e[1;35m" 54 export MSKIP="\e[33m" 55 export MHIGH="\e[1;33m" 56 export MEND="\e[m" 57else 58 export MPASS="" 59 export MALLPASS="" 60 export MFAIL="" 61 export MALLFAIL="" 62 export MWARN="" 63 export MSKIP="" 64 export MHIGH="" 65 export MEND="" 66fi 67 68### general info 69DIR_PATH=`dirname "$(readlink -e "$0")"` 70 71TEST_NAME=`basename $DIR_PATH | sed 's/base/perf/'`; export TEST_NAME 72MY_ARCH=`arch`; export MY_ARCH 73 74# storing logs and temporary files variables 75if [ -n "$PERFSUITE_RUN_DIR" ]; then 76 # when $PERFSUITE_RUN_DIR is set to something, all the logs and temp files will be placed there 77 # --> the $PERFSUITE_RUN_DIR/perf_something/examples and $PERFSUITE_RUN_DIR/perf_something/logs 78 # dirs will be used for that 79 PERFSUITE_RUN_DIR=`readlink -f $PERFSUITE_RUN_DIR`; export PERFSUITE_RUN_DIR 80 export CURRENT_TEST_DIR="$PERFSUITE_RUN_DIR/$TEST_NAME" 81 export MAKE_TARGET_DIR="$CURRENT_TEST_DIR/examples" 82 export LOGS_DIR="$CURRENT_TEST_DIR/logs" 83 export HEADER_TAR_DIR="$CURRENT_TEST_DIR/header_tar" 84 test -d "$CURRENT_TEST_DIR" || mkdir -p "$CURRENT_TEST_DIR" 85 test -d "$LOGS_DIR" || mkdir -p "$LOGS_DIR" 86else 87 # when $PERFSUITE_RUN_DIR is not set, logs will be placed here 88 export CURRENT_TEST_DIR="." 89 export LOGS_DIR="." 90 export HEADER_TAR_DIR="./header_tar" 91fi 92 93 94#### test parametrization 95if [ ! -d ./common ]; then 96 # set parameters based on runmode 97 if [ -f ../common/parametrization.$PERFTOOL_TESTSUITE_RUNMODE.sh ]; then 98 # shellcheck source=/dev/null 99 . ../common/parametrization.$PERFTOOL_TESTSUITE_RUNMODE.sh 100 fi 101 # if some parameters haven't been set until now, set them to default 102 if [ -f ../common/parametrization.sh ]; then 103 . ../common/parametrization.sh 104 fi 105fi 106