mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 14:01:15 +02:00
Garbage collect VM when closing a project
This commit is contained in:
1 parent
66860655b9
commit
a9afaa028c
6 files changed
+32
-34
No files matched your search
@@ -81,30 +81,3 @@ def test_create_vm_old_topology(loop, project, tmpdir, port_manager):
|
||||
vm_dir = os.path.join(project_dir, "project-files", "vpcs", vm.id)
|
||||
with open(os.path.join(vm_dir, "startup.vpc")) as f:
|
||||
assert f.read() == "1"
|
||||
|
||||
|
||||
# def test_create_vm_old_topology_with_garbage_in_project_dir(loop, project, tmpdir, port_manager):
|
||||
#
|
||||
# with patch("gns3server.config.Config.get_section_config", return_value={"local": True}):
|
||||
# # Create an old topology directory
|
||||
# project_dir = str(tmpdir / "testold")
|
||||
# vm_dir = os.path.join(project_dir, "testold-files", "vpcs", "pc-1")
|
||||
# project.path = project_dir
|
||||
# os.makedirs(vm_dir, exist_ok=True)
|
||||
# with open(os.path.join(vm_dir, "startup.vpc"), "w+") as f:
|
||||
# f.write("1")
|
||||
# with open(os.path.join(os.path.join(project_dir, "testold-files"), "crash.log"), "w+") as f:
|
||||
# f.write("1")
|
||||
#
|
||||
# VPCS._instance = None
|
||||
# vpcs = VPCS.instance()
|
||||
# vpcs.port_manager = port_manager
|
||||
# vm_id = 1
|
||||
# vm = loop.run_until_complete(vpcs.create_vm("PC 1", project.id, vm_id))
|
||||
# assert len(vm.id) == 36
|
||||
#
|
||||
# assert os.path.exists(os.path.join(project_dir, "testold-files")) is True
|
||||
#
|
||||
# vm_dir = os.path.join(project_dir, "project-files", "vpcs", vm.id)
|
||||
# with open(os.path.join(vm_dir, "startup.vpc")) as f:
|
||||
# assert f.read() == "1"
|
||||
@@ -184,9 +184,11 @@ def test_project_close(loop, manager):
|
||||
project = Project()
|
||||
vm = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", project, manager)
|
||||
project.add_vm(vm)
|
||||
vm.manager._vms = {vm.id: vm}
|
||||
with asyncio_patch("gns3server.modules.vpcs.vpcs_vm.VPCSVM.close") as mock:
|
||||
loop.run_until_complete(asyncio.async(project.close()))
|
||||
assert mock.called
|
||||
assert vm.id not in vm.manager._vms
|
||||
|
||||
|
||||
def test_project_close_temporary_project(loop, manager):
|
||||
|
||||
Reference in new issue
Block a user