mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 09:18:08 +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 ..base_vm import BaseVM
|
||||
from .ioucon import start_ioucon
|
||||
from ...config import Config
|
||||
import gns3server.utils.asyncio
|
||||
|
||||
|
||||
@ -131,6 +132,10 @@ class IOUVM(BaseVM):
|
||||
: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
|
||||
if not os.path.isfile(self._path) or not os.path.exists(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
|
||||
|
||||
|
||||
|
||||
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):
|
||||
|
||||
path = str(tmpdir / "test.bin")
|
||||
|
Loading…
Reference in New Issue
Block a user