mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 17:28:08 +00:00
For topologies before 1.4 manage qemu missing
If qemu is missing for topologies before 1.4 we try to search it in the path. Ref #921
This commit is contained in:
parent
2e05290206
commit
889ea14973
@ -80,10 +80,12 @@ class QemuVM(BaseVM):
|
||||
try:
|
||||
self.qemu_path = qemu_path
|
||||
except QemuError as e:
|
||||
# If the binary is not found for topologies 1.4 and later
|
||||
# search via the platform otherwise use the binary name
|
||||
if platform:
|
||||
self.platform = platform
|
||||
else:
|
||||
raise e
|
||||
self.qemu_path = os.path.basename(qemu_path)
|
||||
else:
|
||||
self.platform = platform
|
||||
|
||||
|
@ -85,6 +85,22 @@ def test_vm(project, manager, fake_qemu_binary):
|
||||
assert vm.id == "00010203-0405-0607-0809-0a0b0c0d0e0f"
|
||||
|
||||
|
||||
def test_vm_invalid_qemu_with_platform(project, manager, fake_qemu_binary):
|
||||
|
||||
vm = QemuVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", project, manager, qemu_path="/usr/fake/bin/qemu-system-64", platform="x86_64")
|
||||
|
||||
assert vm.qemu_path == fake_qemu_binary
|
||||
assert vm.platform == "x86_64"
|
||||
|
||||
|
||||
def test_vm_invalid_qemu_without_platform(project, manager, fake_qemu_binary):
|
||||
|
||||
vm = QemuVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", project, manager, qemu_path="/usr/fake/bin/qemu-system-x86_64")
|
||||
|
||||
assert vm.qemu_path == fake_qemu_binary
|
||||
assert vm.platform == "x86_64"
|
||||
|
||||
|
||||
def test_is_running(vm, running_subprocess_mock):
|
||||
|
||||
vm._process = None
|
||||
@ -270,7 +286,6 @@ def test_set_qemu_path_old_windows(vm, tmpdir):
|
||||
assert vm.platform == "i386"
|
||||
|
||||
|
||||
|
||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||
def test_set_qemu_path_kvm_binary(vm, tmpdir, fake_qemu_binary):
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user