From 3f9d59c87a6797857a074737034bcd58d0726b2e Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 23 Jun 2017 21:12:32 +0300 Subject: 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. --- tests/net_hosted/README | 11 +++++++++++ tests/net_hosted/accept_nonblock.py | 16 ++++++++++++++++ tests/net_hosted/accept_nonblock.py.exp | 1 + tests/net_hosted/accept_timeout.py | 22 ++++++++++++++++++++++ tests/net_hosted/accept_timeout.py.exp | 1 + tests/net_hosted/connect_nonblock.py | 14 ++++++++++++++ tests/net_hosted/connect_nonblock.py.exp | 1 + tests/net_inet/README | 2 +- tests/net_inet/accept_nonblock.py | 16 ---------------- tests/net_inet/accept_nonblock.py.exp | 1 - tests/net_inet/accept_timeout.py | 22 ---------------------- tests/net_inet/accept_timeout.py.exp | 1 - tests/net_inet/connect_nonblock.py | 14 -------------- tests/net_inet/connect_nonblock.py.exp | 1 - 14 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 tests/net_hosted/README create mode 100644 tests/net_hosted/accept_nonblock.py create mode 100644 tests/net_hosted/accept_nonblock.py.exp create mode 100644 tests/net_hosted/accept_timeout.py create mode 100644 tests/net_hosted/accept_timeout.py.exp create mode 100644 tests/net_hosted/connect_nonblock.py create mode 100644 tests/net_hosted/connect_nonblock.py.exp delete mode 100644 tests/net_inet/accept_nonblock.py delete mode 100644 tests/net_inet/accept_nonblock.py.exp delete mode 100644 tests/net_inet/accept_timeout.py delete mode 100644 tests/net_inet/accept_timeout.py.exp delete mode 100644 tests/net_inet/connect_nonblock.py delete mode 100644 tests/net_inet/connect_nonblock.py.exp (limited to 'tests') diff --git a/tests/net_hosted/README b/tests/net_hosted/README new file mode 100644 index 000000000..724dd6158 --- /dev/null +++ b/tests/net_hosted/README @@ -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 diff --git a/tests/net_hosted/accept_nonblock.py b/tests/net_hosted/accept_nonblock.py new file mode 100644 index 000000000..56f3288e2 --- /dev/null +++ b/tests/net_hosted/accept_nonblock.py @@ -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() diff --git a/tests/net_hosted/accept_nonblock.py.exp b/tests/net_hosted/accept_nonblock.py.exp new file mode 100644 index 000000000..0ca95142b --- /dev/null +++ b/tests/net_hosted/accept_nonblock.py.exp @@ -0,0 +1 @@ +True diff --git a/tests/net_hosted/accept_timeout.py b/tests/net_hosted/accept_timeout.py new file mode 100644 index 000000000..44b3b8c7c --- /dev/null +++ b/tests/net_hosted/accept_timeout.py @@ -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() diff --git a/tests/net_hosted/accept_timeout.py.exp b/tests/net_hosted/accept_timeout.py.exp new file mode 100644 index 000000000..0ca95142b --- /dev/null +++ b/tests/net_hosted/accept_timeout.py.exp @@ -0,0 +1 @@ +True diff --git a/tests/net_hosted/connect_nonblock.py b/tests/net_hosted/connect_nonblock.py new file mode 100644 index 000000000..e99d7d624 --- /dev/null +++ b/tests/net_hosted/connect_nonblock.py @@ -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() diff --git a/tests/net_hosted/connect_nonblock.py.exp b/tests/net_hosted/connect_nonblock.py.exp new file mode 100644 index 000000000..0ca95142b --- /dev/null +++ b/tests/net_hosted/connect_nonblock.py.exp @@ -0,0 +1 @@ +True diff --git a/tests/net_inet/README b/tests/net_inet/README index cdd49259a..9a5614efa 100644 --- a/tests/net_inet/README +++ b/tests/net_inet/README @@ -1,4 +1,4 @@ -This direcctory contains network tests which require Internet connection. +This directory contains network tests which require Internet connection. Note that these tests are not run as part of the main testsuite and need to be run seperately (from the main test/ directory): diff --git a/tests/net_inet/accept_nonblock.py b/tests/net_inet/accept_nonblock.py deleted file mode 100644 index 56f3288e2..000000000 --- a/tests/net_inet/accept_nonblock.py +++ /dev/null @@ -1,16 +0,0 @@ -# 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() diff --git a/tests/net_inet/accept_nonblock.py.exp b/tests/net_inet/accept_nonblock.py.exp deleted file mode 100644 index 0ca95142b..000000000 --- a/tests/net_inet/accept_nonblock.py.exp +++ /dev/null @@ -1 +0,0 @@ -True diff --git a/tests/net_inet/accept_timeout.py b/tests/net_inet/accept_timeout.py deleted file mode 100644 index 44b3b8c7c..000000000 --- a/tests/net_inet/accept_timeout.py +++ /dev/null @@ -1,22 +0,0 @@ -# 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() diff --git a/tests/net_inet/accept_timeout.py.exp b/tests/net_inet/accept_timeout.py.exp deleted file mode 100644 index 0ca95142b..000000000 --- a/tests/net_inet/accept_timeout.py.exp +++ /dev/null @@ -1 +0,0 @@ -True diff --git a/tests/net_inet/connect_nonblock.py b/tests/net_inet/connect_nonblock.py deleted file mode 100644 index e99d7d624..000000000 --- a/tests/net_inet/connect_nonblock.py +++ /dev/null @@ -1,14 +0,0 @@ -# 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() diff --git a/tests/net_inet/connect_nonblock.py.exp b/tests/net_inet/connect_nonblock.py.exp deleted file mode 100644 index 0ca95142b..000000000 --- a/tests/net_inet/connect_nonblock.py.exp +++ /dev/null @@ -1 +0,0 @@ -True -- cgit v1.2.3