@@ -41,9 +41,46 @@ def qemu_driver(qemu_target):
4141 rootfs = 'rootfs' )
4242 return q
4343
44+ @pytest .fixture
45+ def qemu_mock (mocker ):
46+ popen_mock = mocker .patch ('subprocess.Popen' )
47+ popen_mock .return_value .wait .return_value = 0
48+ popen_mock .return_value .stdout .readline .return_value = b"""
49+ {
50+ "QMP": {
51+ "version": {}
52+ },
53+ "return": {}
54+ }
55+ """
56+
57+ select_mock = mocker .patch ('select.select' )
58+ select_mock .return_value = True , None , None
59+
60+ socket_mock = mocker .patch ('socket.socket' )
61+ socket_mock .return_value .accept .return_value = mocker .MagicMock (), ''
62+
4463def test_qemu_instance (qemu_target , qemu_driver ):
4564 assert (isinstance (qemu_driver , QEMUDriver ))
4665
4766def test_qemu_activate_deactivate (qemu_target , qemu_driver ):
4867 qemu_target .activate (qemu_driver )
4968 qemu_target .deactivate (qemu_driver )
69+
70+ def test_qemu_on_off (qemu_target , qemu_driver , qemu_mock ):
71+ qemu_target .activate (qemu_driver )
72+
73+ qemu_driver .on ()
74+ qemu_driver .off ()
75+
76+ qemu_target .deactivate (qemu_driver )
77+
78+ def test_qemu_read_write (qemu_target , qemu_driver , qemu_mock ):
79+ qemu_target .activate (qemu_driver )
80+
81+ qemu_driver .on ()
82+ qemu_driver .read ()
83+ qemu_driver .read (max_size = 10 )
84+ qemu_driver .write (b'abc' )
85+
86+ qemu_target .deactivate (qemu_driver )
0 commit comments