xref: /linux/tools/testing/selftests/verification/test.d/functions (revision b0319c4642638bad4b36974055b1c0894b2c7aa9)
1check_requires() { # Check required files, monitors and reactors
2	for i in "$@" ; do
3		p=${i%:program}
4		m=${i%:monitor}
5		r=${i%:reactor}
6		if [ $p != $i ]; then
7			if ! which $p ; then
8				echo "Required program $p is not found."
9				exit_unresolved
10			fi
11		elif [ $m != $i ]; then
12			if ! grep -wq $m available_monitors ; then
13				echo "Required monitor $m is not configured."
14				exit_unsupported
15			fi
16		elif [ $r != $i ]; then
17			if ! grep -wq $r available_reactors ; then
18				echo "Required reactor $r is not configured."
19				exit_unsupported
20			fi
21		elif [ ! -e $i ]; then
22			echo "Required feature interface $i doesn't exist."
23			exit_unsupported
24		fi
25	done
26}
27
28initialize_system() { # Reset RV to initial-state
29	echo > enabled_monitors
30	for m in monitors/*; do
31		echo nop > $m/reactors || true
32	done
33	echo 1 > monitoring_on
34	echo 1 > reacting_on || true
35}
36
37finish_system() {
38	initialize_system
39}
40