1
0
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:
Julien Duponchelle 2016-01-28 16:14:26 +01:00
parent 2e05290206
commit 889ea14973
No known key found for this signature in database
GPG Key ID: 0898C847450754FB
2 changed files with 19 additions and 2 deletions

View File

@ -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

View File

@ -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):