Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.5.6.
  1# SPDX-License-Identifier: GPL-2.0
  2#
  3#	init.sh
  4#	Author: Michael Petlan <mpetlan@redhat.com>
  5#
  6#	Description:
  7#
  8#		This file should be used for initialization of basic functions
  9#	for checking, reporting results etc.
 10#
 11#
 12
 13
 14. ../common/settings.sh
 15. ../common/patterns.sh
 16
 17THIS_TEST_NAME=`basename $0 .sh`
 18
 19_echo()
 20{
 21	test "$TESTLOG_VERBOSITY" -ne 0 && echo -e "$@"
 22}
 23
 24print_results()
 25{
 26	PERF_RETVAL="$1"; shift
 27	CHECK_RETVAL="$1"; shift
 28	FAILURE_REASON=""
 29	TASK_COMMENT="$@"
 30	if [ $PERF_RETVAL -eq 0 -a $CHECK_RETVAL -eq 0 ]; then
 31		_echo "$MPASS-- [ PASS ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT"
 32		return 0
 33	else
 34		if [ $PERF_RETVAL -ne 0 ]; then
 35			FAILURE_REASON="command exitcode"
 36		fi
 37		if [ $CHECK_RETVAL -ne 0 ]; then
 38			test -n "$FAILURE_REASON" && FAILURE_REASON="$FAILURE_REASON + "
 39			FAILURE_REASON="$FAILURE_REASON""output regexp parsing"
 40		fi
 41		_echo "$MFAIL-- [ FAIL ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT ($FAILURE_REASON)"
 42		return 1
 43	fi
 44}
 45
 46print_overall_results()
 47{
 48	RETVAL="$1"; shift
 49	if [ $RETVAL -eq 0 ]; then
 50		_echo "$MALLPASS## [ PASS ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY"
 51	else
 52		_echo "$MALLFAIL## [ FAIL ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY :: $RETVAL failures found"
 53	fi
 54	return $RETVAL
 55}
 56
 57print_testcase_skipped()
 58{
 59	TASK_COMMENT="$@"
 60	_echo "$MSKIP-- [ SKIP ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT :: testcase skipped"
 61	return 0
 62}
 63
 64print_overall_skipped()
 65{
 66	_echo "$MSKIP## [ SKIP ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME :: testcase skipped"
 67	return 0
 68}
 69
 70print_warning()
 71{
 72	WARN_COMMENT="$@"
 73	_echo "$MWARN-- [ WARN ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $WARN_COMMENT"
 74	return 0
 75}
 76
 77# this function should skip a testcase if the testsuite is not run in
 78# a runmode that fits the testcase --> if the suite runs in BASIC mode
 79# all STANDARD and EXPERIMENTAL testcases will be skipped; if the suite
 80# runs in STANDARD mode, all EXPERIMENTAL testcases will be skipped and
 81# if the suite runs in EXPERIMENTAL mode, nothing is skipped
 82consider_skipping()
 83{
 84	TESTCASE_RUNMODE="$1"
 85	# the runmode of a testcase needs to be at least the current suite's runmode
 86	if [ $PERFTOOL_TESTSUITE_RUNMODE -lt $TESTCASE_RUNMODE ]; then
 87		print_overall_skipped
 88		exit 0
 89	fi
 90}
 91
 92detect_baremetal()
 93{
 94	# return values:
 95	# 0 = bare metal
 96	# 1 = virtualization detected
 97	# 2 = unknown state
 98	VIRT=`systemd-detect-virt 2>/dev/null`
 99	test $? -eq 127 && return 2
100	test "$VIRT" = "none"
101}
102
103detect_intel()
104{
105	# return values:
106	# 0 = is Intel
107	# 1 = is not Intel or unknown
108	grep "vendor_id" < /proc/cpuinfo | grep -q "GenuineIntel"
109}
110
111detect_amd()
112{
113	# return values:
114	# 0 = is AMD
115	# 1 = is not AMD or unknown
116	grep "vendor_id" < /proc/cpuinfo | grep -q "AMD"
117}