diff --git a/gns3server/modules/iou/iou_vm.py b/gns3server/modules/iou/iou_vm.py index 37d955ad..ef08ec49 100644 --- a/gns3server/modules/iou/iou_vm.py +++ b/gns3server/modules/iou/iou_vm.py @@ -139,9 +139,10 @@ class IOUVM(BaseVM): if not os.path.isabs(path): server_config = self.manager.config.get_section_config("Server") - path = os.path.join(os.path.expanduser(server_config.get("images_path", "~/GNS3/images")), path) - if not os.path.exists(path): - path = os.path.join(os.path.expanduser(server_config.get("images_path", "~/GNS3/images")), "IOU", path) + relative_path = os.path.join(os.path.expanduser(server_config.get("images_path", "~/GNS3/images")), path) + if not os.path.exists(relative_path): + relative_path = os.path.join(os.path.expanduser(server_config.get("images_path", "~/GNS3/images")), "IOU", path) + path = relative_path self._path = path if not os.path.isfile(self._path) or not os.path.exists(self._path): diff --git a/tests/modules/iou/test_iou_vm.py b/tests/modules/iou/test_iou_vm.py index 7bbaf769..68a183ac 100644 --- a/tests/modules/iou/test_iou_vm.py +++ b/tests/modules/iou/test_iou_vm.py @@ -28,7 +28,7 @@ from unittest.mock import patch, MagicMock from gns3server.modules.iou.iou_vm import IOUVM from gns3server.modules.iou.iou_error import IOUError from gns3server.modules.iou import IOU - +from gns3server.config import Config @pytest.fixture(scope="module") def manager(port_manager): @@ -196,8 +196,9 @@ def test_path(vm, 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" + config = Config.instance() + config.set("Server", "images_path", str(tmpdir)) + vm.path = "iou.bin" assert vm.path == fake_iou_bin