Skip to content

PortManager::find_free_port is updated #178

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
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?]
  • Loading branch information
dmitry-lipetsk committed Jan 31, 2025
commit 27c40d28645c677c5c05f2bd9409b3dc21b8c26d
5 changes: 4 additions & 1 deletion testgres/helpers/port_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -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))

Expand Down