PythonExtra/tests/net_hosted/accept_timeout.py
Paul Sokolovsky 3f9d59c87a tests/net_inet: Move tests which don't require full Internet to net_hosted.
The idea is that these tests can be run with just a test server running
on a test host, with device under test connecting to it, instead of
requiring Internet connection for testing.

Such setup is however WIP, and some tests in net_hosted/ are so far
written to connect to Internet, as there're not test server written
yet. This is expected to evolve over time.
2017-06-23 21:12:32 +03:00

23 lines
468 B
Python

# test that socket.accept() on a socket with timeout raises ETIMEDOUT
try:
import usocket as socket
except:
import 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.args[0] in (110, 'timed out')) # 110 is ETIMEDOUT; CPython uses a string
s.close()