Add basic file operations test for newly introduced DAMON probe prep
sysfs directories and files.

Signed-off-by: SJ Park <[email protected]>
---
 tools/testing/selftests/damon/sysfs.sh | 27 ++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/tools/testing/selftests/damon/sysfs.sh 
b/tools/testing/selftests/damon/sysfs.sh
index f7fb94b84e716..ddebde6edabe4 100755
--- a/tools/testing/selftests/damon/sysfs.sh
+++ b/tools/testing/selftests/damon/sysfs.sh
@@ -361,6 +361,32 @@ test_intervals()
        test_intervals_goal "$intervals_dir/intervals_goal"
 }
 
+test_damon_prep()
+{
+       damon_prep_dir=$1
+       ensure_file "$damon_prep_dir/prep_action" "exist" "600"
+       ensure_write_succ "$damon_prep_dir/prep_action" "set_pgidle" \
+               "valid input"
+       ensure_write_fail "$damon_prep_dir/prep_action" "foo" "invalid input"
+}
+
+test_damon_preps()
+{
+       preps_dir=$1
+       ensure_dir "$preps_dir" "exist"
+       ensure_file "$preps_dir/nr_preps" "exist" "600"
+       ensure_write_succ "$preps_dir/nr_preps" "1" "valid input"
+       test_damon_prep "$preps_dir/0"
+
+       ensure_write_succ  "$preps_dir/nr_preps" "2" "valid input"
+       test_damon_prep "$preps_dir/0"
+       test_damon_prep "$preps_dir/1"
+
+       ensure_write_succ "$preps_dir/nr_preps" "0" "valid input"
+       ensure_dir "$preps_dir/0" "not_exist"
+       ensure_dir "$preps_dir/1" "not_exist"
+}
+
 test_damon_filter()
 {
        damon_filter_dir=$1
@@ -392,6 +418,7 @@ test_probe()
 {
        probe_dir=$1
        ensure_dir "$probe_dir" "exist"
+       test_damon_preps "$probe_dir/preps"
        test_damon_filters "$probe_dir/filters"
 }
 
-- 
2.47.3

Reply via email to