From nobody Tue Feb 10 23:01:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1524249745041847.7918305857776; Fri, 20 Apr 2018 11:42:25 -0700 (PDT) Received: from localhost ([::1]:51470 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9azB-0006iA-Uq for importer@patchew.org; Fri, 20 Apr 2018 14:42:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39397) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9ago-00076e-D9 for qemu-devel@nongnu.org; Fri, 20 Apr 2018 14:23:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9agn-0005em-CD for qemu-devel@nongnu.org; Fri, 20 Apr 2018 14:23:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58162) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f9agn-0005c9-47 for qemu-devel@nongnu.org; Fri, 20 Apr 2018 14:23:17 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 66AF430014B8; Fri, 20 Apr 2018 18:23:16 +0000 (UTC) Received: from localhost (ovpn-116-52.gru2.redhat.com [10.97.116.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id AE57F60BE0; Fri, 20 Apr 2018 18:23:07 +0000 (UTC) From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Fri, 20 Apr 2018 15:19:44 -0300 Message-Id: <20180420181951.7252-18-ehabkost@redhat.com> In-Reply-To: <20180420181951.7252-1-ehabkost@redhat.com> References: <20180420181951.7252-1-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Fri, 20 Apr 2018 18:23:16 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC 17/24] avocado_qemu: Remove duplicate PortTracker implementation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Luk=C3=A1=C5=A1=20Doktor?= , Fam Zheng , Stefan Hajnoczi , Amador Pahim , Cleber Rosa , Alistair Francis Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Cleber Rosa 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 Signed-off-by: Eduardo Habkost --- 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. =20 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_qem= u/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 =20 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, promp= t, timeout=3D60, return output =20 =20 -class _PortTracker(Borg): - - """ - Tracks ports used in the host machine. - """ - - def __init__(self): - Borg.__init__(self) - self.address =3D 'localhost' - self.start_port =3D 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 =3D [] - - 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=3DNone): - if start_port is None: - start_port =3D self.start_port - port =3D start_port - while ((port in self.retained_ports) or - (not network.is_port_free(port, self.address))): - port +=3D 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''' =20 @@ -273,7 +230,7 @@ class _VM(qemu.QEMUMachine): if arch is None: arch =3D os.uname()[4] self.arch =3D arch - self.ports =3D _PortTracker() + self.ports =3D network.PortTracker() self.name =3D "qemu-%s" % str(uuid.uuid4())[:8] if qemu_bin is None: qemu_bin =3D _get_qemu_bin(arch) --=20 2.14.3