Skip to content

Commit 12863df

Browse files
authored
Merge pull request #6056 from clebergnu/selftests_utils_cpu_context_manager
selftests/unit/utils/cpu.py: support the context manager pattern
2 parents f5a6a8d + bf9b3d5 commit 12863df

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

selftests/unit/utils/cpu.py

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,8 @@ def test_get_idle_state_off(self):
201201
"glob.glob",
202202
return_value=["/sys/devices/system/cpu/cpu0/cpuidle/state1"],
203203
):
204-
with unittest.mock.patch(
205-
"builtins.open", return_value=io.BytesIO(b"0")
206-
):
204+
mocked_open = unittest.mock.mock_open(read_data=b"0")
205+
with unittest.mock.patch("builtins.open", mocked_open):
207206
self.assertEqual(cpu.get_idle_state(), retval)
208207

209208
def test_get_idle_state_on(self):
@@ -213,51 +212,62 @@ def test_get_idle_state_on(self):
213212
"glob.glob",
214213
return_value=["/sys/devices/system/cpu/cpu0/cpuidle/state1"],
215214
):
216-
with unittest.mock.patch(
217-
"builtins.open", return_value=io.BytesIO(b"1")
218-
):
215+
mocked_open = unittest.mock.mock_open(read_data=b"1")
216+
with unittest.mock.patch("builtins.open", mocked_open):
219217
self.assertEqual(cpu.get_idle_state(), retval)
220218

221219
def test_set_idle_state_default(self):
222-
output = io.BytesIO()
223220
with unittest.mock.patch("avocado.utils.cpu.online_list", return_value=[0]):
224221
with unittest.mock.patch(
225222
"glob.glob",
226223
return_value=["/sys/devices/system/cpu/cpu0/cpuidle/state1"],
227224
):
228-
with unittest.mock.patch("builtins.open", return_value=output):
225+
mocked_open = unittest.mock.mock_open()
226+
with unittest.mock.patch("builtins.open", mocked_open):
229227
cpu.set_idle_state()
230-
self.assertEqual(output.getvalue(), b"1")
228+
mocked_open.assert_called_with(
229+
"/sys/devices/system/cpu/cpu0/cpuidle/state0/disable", "wb"
230+
)
231+
mocked_fo = mocked_open()
232+
mocked_fo.write.assert_called_once_with(b"1")
231233

232234
def test_set_idle_state_withstateno(self):
233-
output = io.BytesIO()
234235
with unittest.mock.patch("avocado.utils.cpu.online_list", return_value=[0]):
235236
with unittest.mock.patch(
236237
"glob.glob",
237238
return_value=["/sys/devices/system/cpu/cpu0/cpuidle/state2"],
238239
):
239-
with unittest.mock.patch("builtins.open", return_value=output):
240+
mocked_open = unittest.mock.mock_open()
241+
with unittest.mock.patch("builtins.open", mocked_open):
240242
cpu.set_idle_state(disable=False, state_number="2")
241-
self.assertEqual(output.getvalue(), b"0")
243+
mocked_open.assert_called_with(
244+
"/sys/devices/system/cpu/cpu0/cpuidle/state2/disable", "wb"
245+
)
246+
mocked_fo = mocked_open()
247+
mocked_fo.write.assert_called_once_with(b"0")
242248

243249
def test_set_idle_state_withsetstate(self):
244-
output = io.BytesIO()
245250
with unittest.mock.patch("avocado.utils.cpu.online_list", return_value=[0, 2]):
246251
with unittest.mock.patch(
247252
"glob.glob",
248253
return_value=["/sys/devices/system/cpu/cpu0/cpuidle/state1"],
249254
):
250-
with unittest.mock.patch("builtins.open", return_value=output):
255+
mocked_open = unittest.mock.mock_open()
256+
with unittest.mock.patch("builtins.open", mocked_open):
251257
cpu.set_idle_state(setstate={0: {0: True}, 2: {0: False}})
252-
self.assertEqual(output.getvalue(), b"10")
258+
mocked_open.assert_called_with(
259+
"/sys/devices/system/cpu/cpu2/cpuidle/state0/disable", "wb"
260+
)
261+
mocked_fo = mocked_open()
262+
mocked_fo.write.assert_called_with(b"0")
253263

254264
def test_set_idle_state_disable(self):
255-
output = io.BytesIO()
256265
function = "avocado.utils.cpu.online_list"
257266
state_file = "/sys/devices/system/cpu/cpu0/cpuidle/state1"
258267
with unittest.mock.patch(function, return_value=[0, 2]):
259268
with unittest.mock.patch("glob.glob", return_value=[state_file]):
260-
with unittest.mock.patch("builtins.open", return_value=output):
269+
mocked_open = unittest.mock.mock_open()
270+
with unittest.mock.patch("builtins.open", mocked_open):
261271
with self.assertRaises(TypeError):
262272
cpu.set_idle_state(disable=1)
263273

0 commit comments

Comments
 (0)