Skip to content

Commit a4027b5

Browse files
sjp38akpm00
authored andcommitted
selftests/damon/sysfs.py: generalize monitoring attributes commit assertion
DAMON monitoring attributes 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/[email protected] Signed-off-by: SeongJae Park <[email protected]> Cc: Shuah Khan <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 771d775 commit a4027b5

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

tools/testing/selftests/damon/sysfs.py

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,29 @@ def assert_schemes_committed(schemes, dump):
141141
for idx, scheme in enumerate(schemes):
142142
assert_scheme_committed(scheme, dump[idx])
143143

144+
def assert_monitoring_attrs_committed(attrs, dump):
145+
assert_true(dump['sample_interval'] == attrs.sample_us, 'sample_interval',
146+
dump)
147+
assert_true(dump['aggr_interval'] == attrs.aggr_us, 'aggr_interval', dump)
148+
assert_true(dump['intervals_goal']['access_bp'] ==
149+
attrs.intervals_goal.access_bp, 'access_bp',
150+
dump['intervals_goal'])
151+
assert_true(dump['intervals_goal']['aggrs'] == attrs.intervals_goal.aggrs,
152+
'aggrs', dump['intervals_goal'])
153+
assert_true(dump['intervals_goal']['min_sample_us'] ==
154+
attrs.intervals_goal.min_sample_us, 'min_sample_us',
155+
dump['intervals_goal'])
156+
assert_true(dump['intervals_goal']['max_sample_us'] ==
157+
attrs.intervals_goal.max_sample_us, 'max_sample_us',
158+
dump['intervals_goal'])
159+
160+
assert_true(dump['ops_update_interval'] == attrs.update_us,
161+
'ops_update_interval', dump)
162+
assert_true(dump['min_nr_regions'] == attrs.min_nr_regions,
163+
'min_nr_regions', dump)
164+
assert_true(dump['max_nr_regions'] == attrs.max_nr_regions,
165+
'max_nr_regions', dump)
166+
144167
def main():
145168
kdamonds = _damon_sysfs.Kdamonds(
146169
[_damon_sysfs.Kdamond(
@@ -163,23 +186,8 @@ def main():
163186
fail('number of contexts', status)
164187

165188
ctx = status['contexts'][0]
166-
attrs = ctx['attrs']
167-
if attrs['sample_interval'] != 5000:
168-
fail('sample interval', status)
169-
if attrs['aggr_interval'] != 100000:
170-
fail('aggr interval', status)
171-
if attrs['ops_update_interval'] != 1000000:
172-
fail('ops updte interval', status)
173-
174-
if attrs['intervals_goal'] != {
175-
'access_bp': 0, 'aggrs': 0,
176-
'min_sample_us': 0, 'max_sample_us': 0}:
177-
fail('intervals goal')
178-
179-
if attrs['min_nr_regions'] != 10:
180-
fail('min_nr_regions')
181-
if attrs['max_nr_regions'] != 1000:
182-
fail('max_nr_regions')
189+
190+
assert_monitoring_attrs_committed(_damon_sysfs.DamonAttrs(), ctx['attrs'])
183191

184192
if ctx['adaptive_targets'] != [
185193
{ 'pid': 0, 'nr_regions': 0, 'regions_list': []}]:

0 commit comments

Comments
 (0)