Mercurial > p > roundup > code
changeset 8257:3630246c5c36
test: issue2551366. fix probe for open port in test_liveserver.py
Corrected the method. It was missing the outer loop.
Updated upstream.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 01 Jan 2025 19:41:45 -0500 |
| parents | 3a04ff6f1004 |
| children | 5c5723cd721a |
| files | test/wsgi_liveserver.py |
| diffstat | 1 files changed, 19 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/test/wsgi_liveserver.py Wed Jan 01 17:51:05 2025 -0500 +++ b/test/wsgi_liveserver.py Wed Jan 01 19:41:45 2025 -0500 @@ -13,7 +13,7 @@ import socket import threading import unittest -from wsgiref.simple_server import make_server, WSGIRequestHandler +from wsgiref.simple_server import WSGIRequestHandler, make_server __author__ = 'John Kristensen' __version__ = '0.3.1' @@ -23,6 +23,7 @@ Classmethod probe_ports() added by John Rouillard 2024. """ + class QuietHandler(WSGIRequestHandler): def log_request(*args, **kwargs): pass @@ -89,17 +90,21 @@ @classmethod def probe_ports(cls, start=port_range[0], end=port_range[1]): - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + port = start - try: - s.connect(('127.0.0.1', port)) - except socket.error as e: - if not hasattr(e, 'args') or e.args[0] != errno.ECONNREFUSED: - raise - return port - else: - s.close() - port += 1 - if port > end: - return None + + while port <= end: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + + try: + s.connect(('127.0.0.1', port)) + except socket.error as e: + if not hasattr(e, 'args') or e.args[0] != errno.ECONNREFUSED: + raise + return port + else: + s.close() + port += 1 + + return None
