Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions qubes/api/internal.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,8 @@ async def suspend_pre(self):
for vm in self.app.domains:
if isinstance(vm, qubes.vm.adminvm.AdminVM):
continue
if not isinstance(vm, qubes.vm.LocalVM):
continue
if not vm.is_running():
continue
if vm.name in previously_paused:
Expand Down Expand Up @@ -352,6 +354,8 @@ async def suspend_pre(self):
for vm in self.app.domains:
if isinstance(vm, qubes.vm.adminvm.AdminVM):
continue
if not isinstance(vm, qubes.vm.LocalVM):
continue
if vm.name in previously_paused:
continue
if vm.is_running():
Expand Down Expand Up @@ -395,6 +399,8 @@ async def suspend_post(self):
for vm in self.app.domains:
if isinstance(vm, qubes.vm.adminvm.AdminVM):
continue
if not isinstance(vm, qubes.vm.LocalVM):
continue
if vm.name in previously_paused:
continue
if vm.get_power_state() in ["Paused", "Suspended"]:
Expand All @@ -407,6 +413,8 @@ async def suspend_post(self):
for vm in self.app.domains:
if isinstance(vm, qubes.vm.adminvm.AdminVM):
continue
if not isinstance(vm, qubes.vm.LocalVM):
continue
if not vm.is_running():
continue
if vm.name in previously_paused:
Expand Down
18 changes: 11 additions & 7 deletions qubes/tests/api_internal.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,19 @@ def tearDown(self):
def create_mockvm(self, features=None):
if features is None:
features = {}
vm = mock.Mock()
vm = mock.Mock(spec=qubes.vm.LocalVM)
vm.configure_mock(
features=mock.Mock(),
run_service=mock.AsyncMock(),
suspend=mock.AsyncMock(),
resume=mock.AsyncMock(),
is_running=mock.Mock(),
get_power_state=mock.Mock(),
remove_preload_excess=mock.Mock(),
)
vm.features.check_with_template.side_effect = features.get
vm.features.get.side_effect = features.get
vm.run_service.return_value.wait = mock_coro(
vm.run_service.return_value.wait
)
vm.run_service = mock_coro(vm.run_service)
vm.suspend = mock_coro(vm.suspend)
vm.resume = mock_coro(vm.resume)
vm.run_service.return_value.wait = mock.AsyncMock()
return vm

def call_mgmt_func(self, method, arg=b"", payload=b""):
Expand Down