From ab7de699e9c90be4a83170e412547cb6849a366e Mon Sep 17 00:00:00 2001 From: "d.kovalenko" Date: Fri, 31 Jan 2025 11:09:17 +0300 Subject: [PATCH 1/3] PortManager::find_free_port is updated We will use exclude_ports only when it is not none. Creation of empty exclude_ports is removed. --- testgres/helpers/port_manager.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/testgres/helpers/port_manager.py b/testgres/helpers/port_manager.py index 6afdf8a9..a7e2a85f 100644 --- a/testgres/helpers/port_manager.py +++ b/testgres/helpers/port_manager.py @@ -26,10 +26,8 @@ def find_free_port(self, ports: Optional[Set[int]] = None, exclude_ports: Option if ports is None: ports = set(range(1024, 65535)) - if exclude_ports is None: - exclude_ports = set() - - ports.difference_update(set(exclude_ports)) + if exclude_ports is not None: + ports.difference_update(set(exclude_ports)) sampled_ports = random.sample(tuple(ports), min(len(ports), 100)) From 27c40d28645c677c5c05f2bd9409b3dc21b8c26d Mon Sep 17 00:00:00 2001 From: "d.kovalenko" Date: Fri, 31 Jan 2025 11:25:46 +0300 Subject: [PATCH 2/3] PortManager::find_free_port is updated Asserts are added: - ports must be the "set" - exclude_ports must be iterable Do not convert exclude_ports into "set" [optimization?] --- testgres/helpers/port_manager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/testgres/helpers/port_manager.py b/testgres/helpers/port_manager.py index a7e2a85f..f59df259 100644 --- a/testgres/helpers/port_manager.py +++ b/testgres/helpers/port_manager.py @@ -26,8 +26,11 @@ def find_free_port(self, ports: Optional[Set[int]] = None, exclude_ports: Option if ports is None: ports = set(range(1024, 65535)) + assert type(ports) == set + if exclude_ports is not None: - ports.difference_update(set(exclude_ports)) + assert isinstance(exclude_ports, Iterable) + ports.difference_update(exclude_ports) sampled_ports = random.sample(tuple(ports), min(len(ports), 100)) From bc893d8b1d36f2073a3629c102c615e21240245a Mon Sep 17 00:00:00 2001 From: "d.kovalenko" Date: Fri, 31 Jan 2025 11:33:01 +0300 Subject: [PATCH 3/3] noqa: E721 --- testgres/helpers/port_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testgres/helpers/port_manager.py b/testgres/helpers/port_manager.py index f59df259..cfc5c096 100644 --- a/testgres/helpers/port_manager.py +++ b/testgres/helpers/port_manager.py @@ -26,7 +26,7 @@ def find_free_port(self, ports: Optional[Set[int]] = None, exclude_ports: Option if ports is None: ports = set(range(1024, 65535)) - assert type(ports) == set + assert type(ports) == set # noqa: E721 if exclude_ports is not None: assert isinstance(exclude_ports, Iterable)