mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 04:30:24 +01:00
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.
This commit is contained in:
11
tests/net_hosted/README
Normal file
11
tests/net_hosted/README
Normal file
@@ -0,0 +1,11 @@
|
||||
This directory contains network tests which require just "peer to peer"
|
||||
network connection between test host and device under test, instead of
|
||||
full Internet connection.
|
||||
|
||||
Note that setup for these tests and tests themselves are WIP, and may
|
||||
not yet fully correspond to the functional specification above.
|
||||
|
||||
So far, these tests are not run as part of the main testsuite and need
|
||||
to be run seperately (from the main test/ directory):
|
||||
|
||||
./run-tests net_hosted/*.py
|
||||
16
tests/net_hosted/accept_nonblock.py
Normal file
16
tests/net_hosted/accept_nonblock.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# test that socket.accept() on a non-blocking socket raises EAGAIN
|
||||
|
||||
try:
|
||||
import usocket as socket
|
||||
except:
|
||||
import socket
|
||||
|
||||
s = socket.socket()
|
||||
s.bind(socket.getaddrinfo('127.0.0.1', 8123)[0][-1])
|
||||
s.setblocking(False)
|
||||
s.listen(1)
|
||||
try:
|
||||
s.accept()
|
||||
except OSError as er:
|
||||
print(er.args[0] == 11) # 11 is EAGAIN
|
||||
s.close()
|
||||
1
tests/net_hosted/accept_nonblock.py.exp
Normal file
1
tests/net_hosted/accept_nonblock.py.exp
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
22
tests/net_hosted/accept_timeout.py
Normal file
22
tests/net_hosted/accept_timeout.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# 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()
|
||||
1
tests/net_hosted/accept_timeout.py.exp
Normal file
1
tests/net_hosted/accept_timeout.py.exp
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
14
tests/net_hosted/connect_nonblock.py
Normal file
14
tests/net_hosted/connect_nonblock.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# test that socket.connect() on a non-blocking socket raises EINPROGRESS
|
||||
|
||||
try:
|
||||
import usocket as socket
|
||||
except:
|
||||
import socket
|
||||
|
||||
s = socket.socket()
|
||||
s.setblocking(False)
|
||||
try:
|
||||
s.connect(socket.getaddrinfo('micropython.org', 80)[0][-1])
|
||||
except OSError as er:
|
||||
print(er.args[0] == 115) # 115 is EINPROGRESS
|
||||
s.close()
|
||||
1
tests/net_hosted/connect_nonblock.py.exp
Normal file
1
tests/net_hosted/connect_nonblock.py.exp
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
Reference in New Issue
Block a user