PythonExtra/tests/net_hosted/accept_timeout.py

23 lines
502 B
Python

# test that socket.accept() on a socket with timeout raises ETIMEDOUT
try:
import uerrno as errno, usocket as socket
except:
import errno, socket
try:
socket.socket.settimeout
except AttributeError:
print("SKIP")
raise SystemExit
s = socket.socket()
s.bind(socket.getaddrinfo("127.0.0.1", 8123)[0][-1])
s.settimeout(1)
s.listen(1)
try:
s.accept()
except OSError as er:
print(er.errno in (errno.ETIMEDOUT, "timed out")) # CPython uses a string instead of errno
s.close()