mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-28 03:08:14 +00:00
Support relative path in iou
This commit is contained in:
parent
47f8ac00c0
commit
818676ce5e
@ -39,6 +39,7 @@ from ..nios.nio_tap import NIOTAP
|
|||||||
from ..nios.nio_generic_ethernet import NIOGenericEthernet
|
from ..nios.nio_generic_ethernet import NIOGenericEthernet
|
||||||
from ..base_vm import BaseVM
|
from ..base_vm import BaseVM
|
||||||
from .ioucon import start_ioucon
|
from .ioucon import start_ioucon
|
||||||
|
from ...config import Config
|
||||||
import gns3server.utils.asyncio
|
import gns3server.utils.asyncio
|
||||||
|
|
||||||
|
|
||||||
@ -131,6 +132,10 @@ class IOUVM(BaseVM):
|
|||||||
:params path: Path to the binary
|
:params path: Path to the binary
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if path[0] != "/":
|
||||||
|
server_config = Config.instance().get_section_config("Server")
|
||||||
|
path = os.path.join(os.path.expanduser(server_config.get("images_path", "~/GNS3/images")), path)
|
||||||
|
|
||||||
self._path = path
|
self._path = path
|
||||||
if not os.path.isfile(self._path) or not os.path.exists(self._path):
|
if not os.path.isfile(self._path) or not os.path.exists(self._path):
|
||||||
if os.path.islink(self._path):
|
if os.path.islink(self._path):
|
||||||
|
@ -175,6 +175,14 @@ def test_path(vm, fake_iou_bin):
|
|||||||
assert vm.path == fake_iou_bin
|
assert vm.path == fake_iou_bin
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def test_path_relative(vm, fake_iou_bin, tmpdir):
|
||||||
|
|
||||||
|
with patch("gns3server.config.Config.get_section_config", return_value={"images_path": str(tmpdir)}):
|
||||||
|
vm.path = "iou.bin"
|
||||||
|
assert vm.path == fake_iou_bin
|
||||||
|
|
||||||
|
|
||||||
def test_path_invalid_bin(vm, tmpdir):
|
def test_path_invalid_bin(vm, tmpdir):
|
||||||
|
|
||||||
path = str(tmpdir / "test.bin")
|
path = str(tmpdir / "test.bin")
|
||||||
|
Loading…
Reference in New Issue
Block a user