[PATCH 18/22] selftests/damon/sysfs.py: generalize DAMOS schemes commit assertion

From: SeongJae Park
Date: Sun Jul 20 2025 - 13:20:08 EST


DAMOS schemes commitment assertion is hard-coded for a specific test
case. Split it out into a general version that can be reused for
different test cases.

Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
tools/testing/selftests/damon/sysfs.py | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/damon/sysfs.py b/tools/testing/selftests/damon/sysfs.py
index a32871b9b0f2..9e5c72804edf 100755
--- a/tools/testing/selftests/damon/sysfs.py
+++ b/tools/testing/selftests/damon/sysfs.py
@@ -132,6 +132,11 @@ def assert_scheme_committed(scheme, dump):
for idx, f in enumerate(scheme.ops_filters.filters):
assert_filter_committed(f, dump['ops_filters'][idx])

+def assert_schemes_committed(schemes, dump):
+ assert_true(len(schemes) == len(dump), 'len_schemes', dump)
+ for idx, scheme in enumerate(schemes):
+ assert_scheme_committed(scheme, dump[idx])
+
def main():
kdamonds = _damon_sysfs.Kdamonds(
[_damon_sysfs.Kdamond(
@@ -175,10 +180,7 @@ def main():
{ 'pid': 0, 'nr_regions': 0, 'regions_list': []}]:
fail('adaptive targets', status)

- if len(ctx['schemes']) != 1:
- fail('number of schemes', status)
-
- assert_scheme_committed(_damon_sysfs.Damos(), ctx['schemes'][0])
+ assert_schemes_committed([_damon_sysfs.Damos()], ctx['schemes'])

kdamonds.stop()

--
2.39.5