Skip to content

Commit b50c48d

Browse files
sjp38akpm00
authored andcommitted
selftests/damon/sysfs.py: generalize DAMOS Watermarks commit assertion
DamosWatermarks 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. Link: https://lkml.kernel.org/r/20250720171652.92309-13-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent a1d52cd commit b50c48d

1 file changed

Lines changed: 18 additions & 8 deletions

File tree

tools/testing/selftests/damon/sysfs.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,22 @@ def fail(expectation, status):
2929
print(json.dumps(status, indent=4))
3030
exit(1)
3131

32+
def assert_true(condition, expectation, status):
33+
if condition is not True:
34+
fail(expectation, status)
35+
36+
def assert_watermarks_committed(watermarks, dump):
37+
wmark_metric_val = {
38+
'none': 0,
39+
'free_mem_rate': 1,
40+
}
41+
assert_true(dump['metric'] == wmark_metric_val[watermarks.metric],
42+
'metric', dump)
43+
assert_true(dump['interval'] == watermarks.interval, 'interval', dump)
44+
assert_true(dump['high'] == watermarks.high, 'high', dump)
45+
assert_true(dump['mid'] == watermarks.mid, 'mid', dump)
46+
assert_true(dump['low'] == watermarks.low, 'low', dump)
47+
3248
def main():
3349
kdamonds = _damon_sysfs.Kdamonds(
3450
[_damon_sysfs.Kdamond(
@@ -105,14 +121,8 @@ def main():
105121
}:
106122
fail('damos quota', status)
107123

108-
if scheme['wmarks'] != {
109-
'metric': 0,
110-
'interval': 0,
111-
'high': 0,
112-
'mid': 0,
113-
'low': 0,
114-
}:
115-
fail('damos wmarks', status)
124+
assert_watermarks_committed(_damon_sysfs.DamosWatermarks(),
125+
scheme['wmarks'])
116126

117127
kdamonds.stop()
118128

0 commit comments

Comments
 (0)