Mercurial > hg
changeset 46327:85c0c7145f8e
run-tests: catch a Windows specific error when testing for a free socket
I'm not sure why this only happens with py3, but this error code doesn't map to
any of the 3 currently being handled, and kills `run-tests.py` before it can run
any tests when it happens:
OSError: [WinError 10013] An attempt was made to access a socket in a way
forbidden by its access permissions
The documentation[1] says this can happen if another process is bound to the
address with exclusive access. This seems to keep it happy.
[1] https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2
Differential Revision: https://phab.mercurial-scm.org/D9816
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 18 Jan 2021 01:15:10 -0500 |
parents | 3e23794b9e1c |
children | 0216abfb2d3e |
files | tests/run-tests.py |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Mon Jan 18 00:50:01 2021 -0500 +++ b/tests/run-tests.py Mon Jan 18 01:15:10 2021 -0500 @@ -260,7 +260,9 @@ s.bind(('localhost', port)) return True except socket.error as exc: - if exc.errno not in ( + if os.name == 'nt' and exc.errno == errno.WSAEACCES: + return False + elif exc.errno not in ( errno.EADDRINUSE, errno.EADDRNOTAVAIL, errno.EPROTONOSUPPORT,