From ef4ecbfb6a32245c3a65d1c10a8db40ba01c65eb Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Wed, 21 Jan 2015 22:06:25 +0100 Subject: [PATCH] Improve VPCS port change test --- gns3server/modules/vpcs/vpcs_vm.py | 3 +++ tests/modules/vpcs/test_vpcs_vm.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gns3server/modules/vpcs/vpcs_vm.py b/gns3server/modules/vpcs/vpcs_vm.py index df7dc5fc..548b7ec3 100644 --- a/gns3server/modules/vpcs/vpcs_vm.py +++ b/gns3server/modules/vpcs/vpcs_vm.py @@ -130,6 +130,9 @@ class VPCSVM(BaseVM): :params console: Console port (integer) """ + + if console == self._console: + return if self._console: self._manager.port_manager.release_console_port(self._console) self._console = self._manager.port_manager.reserve_console_port(console) diff --git a/tests/modules/vpcs/test_vpcs_vm.py b/tests/modules/vpcs/test_vpcs_vm.py index 1cd27646..d2baf04b 100644 --- a/tests/modules/vpcs/test_vpcs_vm.py +++ b/tests/modules/vpcs/test_vpcs_vm.py @@ -138,11 +138,15 @@ def test_get_startup_script(vm): assert vm.startup_script == content -def test_change_console_port(vm, free_console_port): - vm.console = free_console_port - vm.console = free_console_port + 1 - assert vm.console == free_console_port - PortManager.instance().reserve_console_port(free_console_port + 1) +def test_change_console_port(vm, port_manager): + port1 = port_manager.get_free_console_port() + port2 = port_manager.get_free_console_port() + port_manager.release_console_port(port1) + port_manager.release_console_port(port2) + vm.console = port1 + vm.console = port2 + assert vm.console == port2 + PortManager.instance().reserve_console_port(port1) def test_change_name(vm, tmpdir):