Update sysfs.sh DAMON selftest to cover basic file operations for the sysfs files under the admin/reports/ directory. Signed-off-by: SJ Park --- tools/testing/selftests/damon/sysfs.sh | 52 ++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tools/testing/selftests/damon/sysfs.sh b/tools/testing/selftests/damon/sysfs.sh index 1cc7ab2d7e22f..577953ee4e631 100755 --- a/tools/testing/selftests/damon/sysfs.sh +++ b/tools/testing/selftests/damon/sysfs.sh @@ -510,6 +510,57 @@ test_kdamonds() ensure_dir "$kdamonds_dir/1" "not_exist" } +test_producer() +{ + producer_dir=$1 + ensure_file "$producer_dir/report_type" "exist" "600" + ensure_write_succ "$producer_dir/report_type" "user_report" \ + "valid input" + ensure_write_fail "$producer_dir/report_type" "foo" "invlid input" + + ensure_file "$producer_dir/producer_state" "exist" "600" + ensure_write_succ "$producer_dir/producer_state" "on" "valid input" + ensure_write_succ "$producer_dir/producer_state" "submit" "valid input" + ensure_write_succ "$producer_dir/producer_state" "off" "valid input" + ensure_write_fail "$producer_dir/producer_state" "foo" "invalid input" + + ensure_file "$producer_dir/addr_start" "exist" "600" + ensure_write_succ "$producer_dir/addr_start" 123 "valid input" + ensure_write_fail "$producer_dir/addr_start" foo "uinvalid input" + ensure_write_fail "$producer_dir/addr_start" "1.23" "uinvalid input" + + ensure_file "$producer_dir/addr_end" "exist" "600" + ensure_write_succ "$producer_dir/addr_end" 123 "valid input" + ensure_write_fail "$producer_dir/addr_end" foo "uinvalid input" + ensure_write_fail "$producer_dir/addr_end" "1.23" "uinvalid input" +} + +test_producers() +{ + producers_dir=$1 + ensure_dir "$producers_dir" "exist" + + ensure_file "$producers_dir/nr_producers" "exist" "600" + + ensure_write_succ "$producers_dir/nr_producers" "1" "valid input" + test_producer "$producers_dir/0" + + ensure_write_succ "$producers_dir/nr_producers" "2" "valid input" + test_producer "$producers_dir/0" + test_producer "$producers_dir/1" + + ensure_write_succ "$producers_dir/nr_producers" "0" "valid input" + ensure_dir "$producers_dir/0" "not_exist" + ensure_dir "$producers_dir/1" "not_exist" +} + +test_reports() +{ + reports_dir=$1 + ensure_dir "$reports_dir" "exist" + test_producers "$reports_dir/producers" +} + test_damon_sysfs() { damon_sysfs=$1 @@ -520,6 +571,7 @@ test_damon_sysfs() fi test_kdamonds "$damon_sysfs/kdamonds" + test_reports "$damon_sysfs/reports" } check_dependencies -- 2.47.3