DAMON sysfs interface essential file operations test (sysf.sh) is not
testing DAMOS {core,ops}_filters directories.  Add the tests.

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

diff --git a/tools/testing/selftests/damon/sysfs.sh 
b/tools/testing/selftests/damon/sysfs.sh
index d528dfea44c3b..78eea0d13c271 100755
--- a/tools/testing/selftests/damon/sysfs.sh
+++ b/tools/testing/selftests/damon/sysfs.sh
@@ -103,10 +103,28 @@ test_filter()
 {
        filter_dir=$1
        ensure_file "$filter_dir/type" "exist" "600"
-       ensure_write_succ "$filter_dir/type" "anon" "valid input"
-       ensure_write_succ "$filter_dir/type" "memcg" "valid input"
-       ensure_write_succ "$filter_dir/type" "addr" "valid input"
-       ensure_write_succ "$filter_dir/type" "target" "valid input"
+
+       local dir_name=$(basename "$(dirname "$filter_dir")")
+       if  [ "$dir_name" = "filters" ] || [ "$dir_name" = "ops_filters" ]
+       then
+               ensure_write_succ "$filter_dir/type" "anon" "valid input"
+               ensure_write_succ "$filter_dir/type" "memcg" "valid input"
+       fi
+       if  [ "$dir_name" = "filters" ] || [ "$dir_name" = "core_filters" ]
+       then
+               ensure_write_succ "$filter_dir/type" "addr" "valid input"
+               ensure_write_succ "$filter_dir/type" "target" "valid input"
+       fi
+       if [ "$dir_name" = "core_filters" ]
+       then
+               ensure_write_fail "$filter_dir/type" "anon" "ops type"
+               ensure_write_fail "$filter_dir/type" "memcg" "ops type"
+       fi
+       if [ "$dir_name"  = "ops_filters" ]
+       then
+               ensure_write_fail "$filter_dir/type" "addr" "core type"
+               ensure_write_fail "$filter_dir/type" "target" "core type"
+       fi
        ensure_write_fail "$filter_dir/type" "foo" "invalid input"
        ensure_file "$filter_dir/matching" "exist" "600"
        ensure_file "$filter_dir/memcg_path" "exist" "600"
@@ -208,6 +226,8 @@ test_scheme()
        test_quotas "$scheme_dir/quotas"
        test_watermarks "$scheme_dir/watermarks"
        test_filters "$scheme_dir/filters"
+       test_filters "$scheme_dir/core_filters"
+       test_filters "$scheme_dir/ops_filters"
        test_stats "$scheme_dir/stats"
        test_tried_regions "$scheme_dir/tried_regions"
 }
-- 
2.47.3

Reply via email to