in _damon.py [0:0]
def test_init_regions_version():
# Save previous values
with open(debugfs_target_ids, 'r') as f:
orig_target_ids = f.read()
if orig_target_ids == '':
orig_target_ids = '\n'
if orig_target_ids == '42\n':
orig_target_ids = 'paddr\n'
with open(debugfs_init_regions, 'r') as f:
orig_init_regions = f.read()
if orig_init_regions == '':
orig_init_regions = '\n'
# Test
with open(debugfs_target_ids, 'w') as f:
f.write('paddr\n')
try:
with open(debugfs_init_regions, 'w') as f:
f.write('42 100 200')
except IOError as e:
version = 2
with open(debugfs_init_regions, 'r') as f:
if f.read().strip() == '42 100 200':
version = 1
else:
version = 2
# Restore previous values
try:
with open(debugfs_target_ids, 'w') as f:
f.write(orig_target_ids)
with open(debugfs_init_regions, 'w') as f:
f.write(orig_init_regions)
except IOError:
# Previous value might be invalid now (e.g., process terminated)
pass
return version