xref: /openbmc/linux/tools/testing/selftests/damon/_debugfs_common.sh (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1*9ab3b0c8SSeongJae Park#!/bin/bash
2*9ab3b0c8SSeongJae Park# SPDX-License-Identifier: GPL-2.0
3*9ab3b0c8SSeongJae Park
4*9ab3b0c8SSeongJae Parktest_write_result() {
5*9ab3b0c8SSeongJae Park	file=$1
6*9ab3b0c8SSeongJae Park	content=$2
7*9ab3b0c8SSeongJae Park	orig_content=$3
8*9ab3b0c8SSeongJae Park	expect_reason=$4
9*9ab3b0c8SSeongJae Park	expected=$5
10*9ab3b0c8SSeongJae Park
11*9ab3b0c8SSeongJae Park	echo "$content" > "$file"
12*9ab3b0c8SSeongJae Park	if [ $? -ne "$expected" ]
13*9ab3b0c8SSeongJae Park	then
14*9ab3b0c8SSeongJae Park		echo "writing $content to $file doesn't return $expected"
15*9ab3b0c8SSeongJae Park		echo "expected because: $expect_reason"
16*9ab3b0c8SSeongJae Park		echo "$orig_content" > "$file"
17*9ab3b0c8SSeongJae Park		exit 1
18*9ab3b0c8SSeongJae Park	fi
19*9ab3b0c8SSeongJae Park}
20*9ab3b0c8SSeongJae Park
21*9ab3b0c8SSeongJae Parktest_write_succ() {
22*9ab3b0c8SSeongJae Park	test_write_result "$1" "$2" "$3" "$4" 0
23*9ab3b0c8SSeongJae Park}
24*9ab3b0c8SSeongJae Park
25*9ab3b0c8SSeongJae Parktest_write_fail() {
26*9ab3b0c8SSeongJae Park	test_write_result "$1" "$2" "$3" "$4" 1
27*9ab3b0c8SSeongJae Park}
28*9ab3b0c8SSeongJae Park
29*9ab3b0c8SSeongJae Parktest_content() {
30*9ab3b0c8SSeongJae Park	file=$1
31*9ab3b0c8SSeongJae Park	orig_content=$2
32*9ab3b0c8SSeongJae Park	expected=$3
33*9ab3b0c8SSeongJae Park	expect_reason=$4
34*9ab3b0c8SSeongJae Park
35*9ab3b0c8SSeongJae Park	content=$(cat "$file")
36*9ab3b0c8SSeongJae Park	if [ "$content" != "$expected" ]
37*9ab3b0c8SSeongJae Park	then
38*9ab3b0c8SSeongJae Park		echo "reading $file expected $expected but $content"
39*9ab3b0c8SSeongJae Park		echo "expected because: $expect_reason"
40*9ab3b0c8SSeongJae Park		echo "$orig_content" > "$file"
41*9ab3b0c8SSeongJae Park		exit 1
42*9ab3b0c8SSeongJae Park	fi
43*9ab3b0c8SSeongJae Park}
44*9ab3b0c8SSeongJae Park
45*9ab3b0c8SSeongJae Parksource ./_chk_dependency.sh
46*9ab3b0c8SSeongJae Park
47*9ab3b0c8SSeongJae Parkdamon_onoff="$DBGFS/monitor_on"
48*9ab3b0c8SSeongJae Parkif [ $(cat "$damon_onoff") = "on" ]
49*9ab3b0c8SSeongJae Parkthen
50*9ab3b0c8SSeongJae Park	echo "monitoring is on"
51*9ab3b0c8SSeongJae Park	exit $ksft_skip
52*9ab3b0c8SSeongJae Parkfi
53