@@ -93,15 +93,26 @@ def test_000_suspend_pre(self):
9393 no_qrexec_vm = self .create_mockvm ()
9494 no_qrexec_vm .is_running .return_value = True
9595
96+ paused_vm = self .create_mockvm (features = {"qrexec" : True })
97+ paused_vm .is_running .return_value = True
98+ paused_vm .get_power_state .return_value = "Paused"
99+ paused_vm .name = "SleepingBeauty"
100+
96101 self .domains .update (
97102 {
98103 "running" : running_vm ,
99104 "not-running" : not_running_vm ,
100105 "no-qrexec" : no_qrexec_vm ,
106+ "paused" : paused_vm ,
101107 }
102108 )
103109
104- ret = self .call_mgmt_func (b"internal.SuspendPre" )
110+ with mock .patch .object (
111+ qubes .api .internal ,
112+ "PREVIOUSLY_PAUSED" ,
113+ "/tmp/qubes-previously-paused.tmp" ,
114+ ):
115+ ret = self .call_mgmt_func (b"internal.SuspendPre" )
105116 self .assertIsNone (ret )
106117 self .assertFalse (self .dom0 .called )
107118
@@ -121,6 +132,13 @@ def test_000_suspend_pre(self):
121132 ("run_service" , ("qubes.SuspendPreAll" ,), mock .ANY ),
122133 no_qrexec_vm .mock_calls ,
123134 )
135+
136+ self .assertNotIn (
137+ ("run_service" , ("qubes.SuspendPreAll" ,), mock .ANY ),
138+ paused_vm .mock_calls ,
139+ )
140+ self .assertIn (("suspend" , (), {}), running_vm .mock_calls )
141+
124142 self .assertIn (("suspend" , (), {}), no_qrexec_vm .mock_calls )
125143
126144 def test_001_suspend_post (self ):
@@ -136,15 +154,26 @@ def test_001_suspend_post(self):
136154 no_qrexec_vm .is_running .return_value = True
137155 no_qrexec_vm .get_power_state .return_value = "Suspended"
138156
157+ paused_vm = self .create_mockvm (features = {"qrexec" : True })
158+ paused_vm .is_running .return_value = True
159+ paused_vm .get_power_state .return_value = "Paused"
160+ paused_vm .name = "SleepingBeauty"
161+
139162 self .domains .update (
140163 {
141164 "running" : running_vm ,
142165 "not-running" : not_running_vm ,
143166 "no-qrexec" : no_qrexec_vm ,
167+ "paused" : paused_vm ,
144168 }
145169 )
146170
147- ret = self .call_mgmt_func (b"internal.SuspendPost" )
171+ with mock .patch .object (
172+ qubes .api .internal ,
173+ "PREVIOUSLY_PAUSED" ,
174+ "/tmp/qubes-previously-paused.tmp" ,
175+ ):
176+ ret = self .call_mgmt_func (b"internal.SuspendPost" )
148177 self .assertIsNone (ret )
149178 self .assertFalse (self .dom0 .called )
150179
@@ -166,6 +195,12 @@ def test_001_suspend_post(self):
166195 )
167196 self .assertIn (("resume" , (), {}), no_qrexec_vm .mock_calls )
168197
198+ self .assertNotIn (
199+ ("run_service" , ("qubes.SuspendPostAll" ,), mock .ANY ),
200+ paused_vm .mock_calls ,
201+ )
202+ self .assertNotIn (("resume" , (), {}), paused_vm .mock_calls )
203+
169204 def test_010_get_system_info (self ):
170205 self .dom0 .name = "dom0"
171206 self .dom0 .tags = ["tag1" , "tag2" ]
0 commit comments