[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 17/24] avocado_qemu: Remove duplicate PortTracker impl
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC 17/24] avocado_qemu: Remove duplicate PortTracker implementation |
Date: |
Fri, 20 Apr 2018 15:19:44 -0300 |
From: Cleber Rosa <address@hidden>
The PortTracker class was introduced on Avocado's own utility
libraries, starting with version 54.0, and it actually received fixes
after that.
Let's avoid this duplicate implementation and rely on the standard
one.
Signed-off-by: Cleber Rosa <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
tests/avocado/README.rst | 2 +-
tests/avocado/avocado_qemu/test.py | 45 +-------------------------------------
2 files changed, 2 insertions(+), 45 deletions(-)
diff --git a/tests/avocado/README.rst b/tests/avocado/README.rst
index 07852e790a..50bc865fc1 100644
--- a/tests/avocado/README.rst
+++ b/tests/avocado/README.rst
@@ -6,7 +6,7 @@ Framework. To install Avocado, follow the instructions from
this link::
Tests here are written keeping the minimum amount of dependencies. To
run the tests, you need the Avocado core package (`python-avocado` on
Fedora, `avocado-framework` on pip). Extra dependencies should be
-documented in this file.
+documented in this file. The current minimum required version is 54.0.
In this directory, an ``avocado_qemu`` package is provided, containing
the ``test`` module, which inherits from ``avocado.Test`` and provides
diff --git a/tests/avocado/avocado_qemu/test.py
b/tests/avocado/avocado_qemu/test.py
index 5e42cac8d0..dfffa2a03b 100644
--- a/tests/avocado/avocado_qemu/test.py
+++ b/tests/avocado/avocado_qemu/test.py
@@ -34,7 +34,6 @@ import uuid
import aexpect
from avocado import Test
-from avocado.utils.data_structures import Borg
from avocado.utils import network
from avocado.utils import process
from avocado.utils import path as utils_path
@@ -223,48 +222,6 @@ def _handle_prompts(session, username, password, prompt,
timeout=60,
return output
-class _PortTracker(Borg):
-
- """
- Tracks ports used in the host machine.
- """
-
- def __init__(self):
- Borg.__init__(self)
- self.address = 'localhost'
- self.start_port = 5000
- if not hasattr(self, 'retained_ports'):
- self._reset_retained_ports()
-
- def __str__(self):
- return 'Ports tracked: %r' % self.retained_ports
-
- def _reset_retained_ports(self):
- self.retained_ports = []
-
- def register_port(self, port):
- if ((port not in self.retained_ports) and
- (network.is_port_free(port, self.address))):
- self.retained_ports.append(port)
- else:
- raise ValueError('Port %d in use' % port)
- return port
-
- def find_free_port(self, start_port=None):
- if start_port is None:
- start_port = self.start_port
- port = start_port
- while ((port in self.retained_ports) or
- (not network.is_port_free(port, self.address))):
- port += 1
- self.retained_ports.append(port)
- return port
-
- def release_port(self, port):
- if port in self.retained:
- self.retained.remove(port)
-
-
class _VM(qemu.QEMUMachine):
'''A QEMU VM'''
@@ -273,7 +230,7 @@ class _VM(qemu.QEMUMachine):
if arch is None:
arch = os.uname()[4]
self.arch = arch
- self.ports = _PortTracker()
+ self.ports = network.PortTracker()
self.name = "qemu-%s" % str(uuid.uuid4())[:8]
if qemu_bin is None:
qemu_bin = _get_qemu_bin(arch)
--
2.14.3
- [Qemu-devel] [RFC 07/24] avocado_qemu: Store "arch" in VM, (continued)
- [Qemu-devel] [RFC 07/24] avocado_qemu: Store "arch" in VM, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 08/24] avocado_qemu: Provide defaults for user and pass, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 09/24] avocado_qemu: Ignore kernel messages on get_console, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 10/24] avocado_qemu: Add support to request image for testing, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 11/24] avocado_qemu: Fix exception name in caller, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 12/24] avocado_qemu: Improve migration error message, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 13/24] avocado_qemu: Functional test for RHBZ#1431939, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 14/24] avocado_qemu: Functional test for RHBZ#1447027, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 15/24] avocado_qemu: Functional test for RHBZ#1436616, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 16/24] avocado_qemu: Functional test for RHBZ1473203, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 17/24] avocado_qemu: Remove duplicate PortTracker implementation,
Eduardo Habkost <=
- [Qemu-devel] [RFC 19/24] avocado_qemu: Clean unneeded 'pass', Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 18/24] avocado_qemu: Simplify the installation instructions, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 20/24] avocado_qemu: Set QMP log level to INFO, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 22/24] avocado_qemu: Tests fixes, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 21/24] avocado_qemu: Introduce the add_image() VM API, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 23/24] avocado_qemu: Force vmimage distro, Eduardo Habkost, 2018/04/20
- [Qemu-devel] [RFC 24/24] avocado_qemu: Add a few VNC related tests, Eduardo Habkost, 2018/04/20
- Re: [Qemu-devel] [RFC 00/24] Avocado-based functional tests, no-reply, 2018/04/21