--- Begin Message ---
Source: aiocoap
Version: 0.4.3-0.1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20220624 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules build
> dh build --with python3,sphinxdoc --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:239: python3.9 setup.py config
> running config
> I: pybuild base:239: python3.10 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:239: /usr/bin/python3.9 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/credentials.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/optiontypes.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/messagemanager.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/options.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/interfaces.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/message.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/resource.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/defaults.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/oscore_sitewrapper.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/tokenmanager.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/oscore.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/meta.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> copying aiocoap/error.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/generic_udp.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/rfc8323common.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/simplesocketserver.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/udp6.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/ws.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/simple6.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tinydtls.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tcp.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tinydtls_server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tls.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/oscore.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/transports
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/socknumbers.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/linkformat_pygments.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/cli.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/prettyprint.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/uri.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/contenttype.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/cryptography_additions.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> copying aiocoap/util/linkformat.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/optionnumbers.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/codes.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/constants.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/types.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/numbers
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resourcedirectory
> copying aiocoap/resourcedirectory/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resourcedirectory
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/defaults.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/client.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/fileserver.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/common.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/proxy.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/rd.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/cli
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/client.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/proxy
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util/asyncio
> copying aiocoap/util/asyncio/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util/asyncio
> copying aiocoap/util/asyncio/recvmsg.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/util/asyncio
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resourcedirectory/client
> copying aiocoap/resourcedirectory/client/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resourcedirectory/client
> copying aiocoap/resourcedirectory/client/register.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resourcedirectory/client
> I: pybuild base:239: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/credentials.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/optiontypes.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/messagemanager.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/options.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/interfaces.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/message.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/resource.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/defaults.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/oscore_sitewrapper.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/tokenmanager.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/protocol.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/oscore.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/meta.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> copying aiocoap/error.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/generic_udp.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/rfc8323common.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/simplesocketserver.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/udp6.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/ws.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/simple6.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tinydtls.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tcp.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tinydtls_server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/tls.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> copying aiocoap/transports/oscore.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/transports
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/socknumbers.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/linkformat_pygments.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/cli.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/prettyprint.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/uri.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/contenttype.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/cryptography_additions.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> copying aiocoap/util/linkformat.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/optionnumbers.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/codes.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/constants.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> copying aiocoap/numbers/types.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/numbers
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resourcedirectory
> copying aiocoap/resourcedirectory/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resourcedirectory
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/defaults.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/client.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/fileserver.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/common.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/proxy.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> copying aiocoap/cli/rd.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/cli
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/client.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/proxy
> copying aiocoap/proxy/server.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/proxy
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util/asyncio
> copying aiocoap/util/asyncio/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util/asyncio
> copying aiocoap/util/asyncio/recvmsg.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/util/asyncio
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resourcedirectory/client
> copying aiocoap/resourcedirectory/client/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resourcedirectory/client
> copying aiocoap/resourcedirectory/client/register.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resourcedirectory/client
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:239: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build;
> python3.9 -m pytest -k 'not test_commandline'
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.13, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
> rootdir: /<<PKGBUILDDIR>>
> collected 211 items / 5 deselected / 206 selected
>
> tests/test_blockwise.py .s. [
> 1%]
> tests/test_client.py FE.FE.... [
> 4%]
> tests/test_credentials.py ..s [
> 6%]
> tests/test_dtls.py ssssssssssss [
> 12%]
> tests/test_encoding.py ........... [
> 17%]
> tests/test_group_oscore.py ssssssssssssssssssssssss [
> 29%]
> tests/test_noncoap_client.py .......ss [
> 33%]
> tests/test_noncoap_tcp_client.py ........... [
> 38%]
> tests/test_observe.py .......x.... [
> 44%]
> tests/test_oscore.py ssssssssssssssssssssss [
> 55%]
> tests/test_oscore_plugtest.py ssssssssssssssssssssssssssssssssssssssssss [
> 75%]
> ssssss [
> 78%]
> tests/test_rd_examples.py ss [
> 79%]
> tests/test_reverseproxy.py FF [
> 80%]
> tests/test_server.py ........................ssssssssssss [
> 98%]
> tests/test_tls.py FE [
> 98%]
> tests/test_uri_handling.py .. [
> 99%]
> tests/test_util_cryptography.py s
> [100%]
>
> ==================================== ERRORS
> ====================================
> __________ ERROR at teardown of TestClientWithSetHost.test_uri_parser
> __________
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:50:52,932:DEBUG:coap:Sending request - Token: 6929,
> Remote: <UDP6EndpointAddress [::1]>
> E 2022-06-24 05:50:52,932:DEBUG:coap:Sending message <aiocoap.Message
> at 0x7f3925e74ac0: Type.CON GET (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> E 2022-06-24 05:50:52,932:DEBUG:coap:Exchange added, message ID: 23941.
> E 2022-06-24 05:50:52,933:DEBUG:coap-server:Incoming message
> <aiocoap.Message at 0x7f3925e86a00: Type.CON GET (MID 23941, token 6929)
> remote <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 2 option(s)>
> E 2022-06-24 05:50:52,933:DEBUG:coap-server:New unique message received
> E 2022-06-24 05:50:52,933:DEBUG:coap-server:Sending message
> <aiocoap.Message at 0x7f3925561310: Type.ACK 2.05 Content (MID 23941, token
> 6929) remote <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:52,934:DEBUG:coap:Incoming message <aiocoap.Message
> at 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:52,934:DEBUG:coap:Exchange removed, message ID:
> 23941.
> E 2022-06-24 05:50:52,934:DEBUG:coap:Received Response:
> <aiocoap.Message at 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token
> 6929) remote <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:52,934:DEBUG:coap:Response <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925e86a90 around <aiocoap.Message at 0x7f3925e74ac0:
> Type.CON GET (MID 23941, token 6929) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> E 2022-06-24 05:50:52,945:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:50:52,946:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 6929, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7f3925e74ac0: Type.CON GET (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 23941.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7f3925e86a00: Type.CON GET (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7f3925561310: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 23941.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925e86a90 around <aiocoap.Message at 0x7f3925e74ac0:
> Type.CON GET (MID 23941, token 6929) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> _____ ERROR at teardown of TestClientWithHostlessMessages.test_uri_parser
> ______
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:50:53,169:DEBUG:coap:Sending request - Token: 4718,
> Remote: <UDP6EndpointAddress [::1]>
> E 2022-06-24 05:50:53,169:DEBUG:coap:Sending message <aiocoap.Message
> at 0x7f39254ef3d0: Type.CON GET (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> E 2022-06-24 05:50:53,169:DEBUG:coap:Exchange added, message ID: 38050.
> E 2022-06-24 05:50:53,170:DEBUG:coap-server:Incoming message
> <aiocoap.Message at 0x7f3925527f10: Type.CON GET (MID 38050, token 4718)
> remote <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 2 option(s)>
> E 2022-06-24 05:50:53,170:DEBUG:coap-server:New unique message received
> E 2022-06-24 05:50:53,170:DEBUG:coap-server:Sending message
> <aiocoap.Message at 0x7f3925393d60: Type.ACK 2.05 Content (MID 38050, token
> 4718) remote <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:53,171:DEBUG:coap:Incoming message <aiocoap.Message
> at 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:53,171:DEBUG:coap:Exchange removed, message ID:
> 38050.
> E 2022-06-24 05:50:53,171:DEBUG:coap:Received Response:
> <aiocoap.Message at 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token
> 4718) remote <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:50:53,171:DEBUG:coap:Response <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925527850 around <aiocoap.Message at 0x7f39254ef3d0:
> Type.CON GET (MID 38050, token 4718) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> E 2022-06-24 05:50:53,182:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:50:53,182:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 4718, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7f39254ef3d0: Type.CON GET (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 38050.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7f3925527f10: Type.CON GET (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7f3925393d60: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 38050.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925527850 around <aiocoap.Message at 0x7f39254ef3d0:
> Type.CON GET (MID 38050, token 4718) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ____________________ ERROR at teardown of TestTLS.test_tls
> _____________________
>
> self = <tests.test_tls.TestTLS testMethod=test_tls>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:51:11,975:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:51:11,976:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> =================================== FAILURES
> ===================================
> ____________________ TestClientWithSetHost.test_uri_parser
> _____________________
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
> function = <function TestClientWithSetHost.test_uri_parser at 0x7f3926074430>
> args = (), startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.9/asyncio/base_events.py:647: in run_until_complete
> return future.result()
> /usr/lib/python3.9/asyncio/tasks.py:611: in _wait_for_one
> return f.result() # May raise f.exception().
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
>
> @no_warnings
> @asynctest
> async def test_uri_parser(self):
> request = aiocoap.Message(code=aiocoap.GET)
> request_uri = "coap://" + self.servernetloc + "/empty?query=a&query=b"
> request.set_request_uri(request_uri, set_uri_host=self.set_uri_host)
> self.assertEqual(request.get_request_uri(), request_uri, "Request URL
> does not round-trip in request")
> response = await self.client.request(request).response
> self.assertEqual(response.get_request_uri(), request_uri, "Request
> URL does not round-trip in response")
> self.assertEqual(response.code, aiocoap.CONTENT, "Request URL
> building failed")
>
> request = aiocoap.Message(code=aiocoap.GET)
> > request.set_request_uri("coap://" + self.servernamealias + "/empty",
> > set_uri_host=self.set_uri_host)
> E TypeError: can only concatenate str (not "NoneType") to str
>
> tests/test_client.py:31: TypeError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 6929, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7f3925e74ac0: Type.CON GET (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 23941.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7f3925e86a00: Type.CON GET (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7f3925561310: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1]:52231 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 23941.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7f3925561520: Type.ACK 2.05 Content (MID 23941, token 6929) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925e86a90 around <aiocoap.Message at 0x7f3925e74ac0:
> Type.CON GET (MID 23941, token 6929) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ________________ TestClientWithHostlessMessages.test_uri_parser
> ________________
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
> function = <function TestClientWithSetHost.test_uri_parser at 0x7f3926074430>
> args = (), startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.9/asyncio/base_events.py:647: in run_until_complete
> return future.result()
> /usr/lib/python3.9/asyncio/tasks.py:611: in _wait_for_one
> return f.result() # May raise f.exception().
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
>
> @no_warnings
> @asynctest
> async def test_uri_parser(self):
> request = aiocoap.Message(code=aiocoap.GET)
> request_uri = "coap://" + self.servernetloc + "/empty?query=a&query=b"
> request.set_request_uri(request_uri, set_uri_host=self.set_uri_host)
> self.assertEqual(request.get_request_uri(), request_uri, "Request URL
> does not round-trip in request")
> response = await self.client.request(request).response
> self.assertEqual(response.get_request_uri(), request_uri, "Request
> URL does not round-trip in response")
> self.assertEqual(response.code, aiocoap.CONTENT, "Request URL
> building failed")
>
> request = aiocoap.Message(code=aiocoap.GET)
> > request.set_request_uri("coap://" + self.servernamealias + "/empty",
> > set_uri_host=self.set_uri_host)
> E TypeError: can only concatenate str (not "NoneType") to str
>
> tests/test_client.py:31: TypeError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 4718, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7f39254ef3d0: Type.CON GET (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 38050.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7f3925527f10: Type.CON GET (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7f3925393d60: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1]:41122 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 38050.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7f3925527d90: Type.ACK 2.05 Content (MID 38050, token 4718) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7f3925527850 around <aiocoap.Message at 0x7f39254ef3d0:
> Type.CON GET (MID 38050, token 4718) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ________________________ TestReverseProxy.test_options
> _________________________
>
> self = <tests.test_reverseproxy.TestReverseProxy testMethod=test_options>
>
> def setUp(self):
> super(WithReverseProxy, self).setUp()
>
> self.reverseproxy = aiocoap.cli.proxy.Main(
> > ["--reverse", "--bind", hostportjoin(self.proxyhost,
> > self.proxyport), "--namebased", "%s:%s"%(self.name_for_real_server,
> > self.servernetloc), "--pathbased",
> > "%s:%s"%("/".join(self.path_for_real_server), self.servernetloc)],
> loop=self.loop,
> )
>
> tests/test_reverseproxy.py:23:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = None, port = 56839
>
> def hostportjoin(host, port=None):
> """Join a host and optionally port into a hostinfo-style host:port
> string
>
> >>> hostportjoin('example.com')
> 'example.com'
> >>> hostportjoin('example.com', 1234)
> 'example.com:1234'
> >>> hostportjoin('127.0.0.1', 1234)
> '127.0.0.1:1234'
>
> This is lax with respect to whether host is an IPv6 literal in
> brackets or
> not, and accepts either form; IP-future literals that do not contain a
> colon must be already presented in their bracketed form:
>
> >>> hostportjoin('2001:db8::1')
> '[2001:db8::1]'
> >>> hostportjoin('2001:db8::1', 1234)
> '[2001:db8::1]:1234'
> >>> hostportjoin('[2001:db8::1]', 1234)
> '[2001:db8::1]:1234'
> """
> > if ':' in host and not (host.startswith('[') and host.endswith(']')):
> E TypeError: argument of type 'NoneType' is not iterable
>
> aiocoap/util/__init__.py:86: TypeError
> ________________________ TestReverseProxy.test_routing
> _________________________
>
> self = <tests.test_reverseproxy.TestReverseProxy testMethod=test_routing>
>
> def setUp(self):
> super(WithReverseProxy, self).setUp()
>
> self.reverseproxy = aiocoap.cli.proxy.Main(
> > ["--reverse", "--bind", hostportjoin(self.proxyhost,
> > self.proxyport), "--namebased", "%s:%s"%(self.name_for_real_server,
> > self.servernetloc), "--pathbased",
> > "%s:%s"%("/".join(self.path_for_real_server), self.servernetloc)],
> loop=self.loop,
> )
>
> tests/test_reverseproxy.py:23:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = None, port = 56839
>
> def hostportjoin(host, port=None):
> """Join a host and optionally port into a hostinfo-style host:port
> string
>
> >>> hostportjoin('example.com')
> 'example.com'
> >>> hostportjoin('example.com', 1234)
> 'example.com:1234'
> >>> hostportjoin('127.0.0.1', 1234)
> '127.0.0.1:1234'
>
> This is lax with respect to whether host is an IPv6 literal in
> brackets or
> not, and accepts either form; IP-future literals that do not contain a
> colon must be already presented in their bracketed form:
>
> >>> hostportjoin('2001:db8::1')
> '[2001:db8::1]'
> >>> hostportjoin('2001:db8::1', 1234)
> '[2001:db8::1]:1234'
> >>> hostportjoin('[2001:db8::1]', 1234)
> '[2001:db8::1]:1234'
> """
> > if ':' in host and not (host.startswith('[') and host.endswith(']')):
> E TypeError: argument of type 'NoneType' is not iterable
>
> aiocoap/util/__init__.py:86: TypeError
> _______________________________ TestTLS.test_tls
> _______________________________
>
> self = <aiocoap.transports.tls.TLSClient object at 0x7f3925326be0>
> message = <aiocoap.Message at 0x7f39255823a0: no mtype, GET (no MID, empty
> token) remote UndecidedRemote(scheme='coaps+tcp', hostinfo='None'), 1
> option(s)>
>
> async def _spawn_protocol(self, message):
> if message.unresolved_remote is None:
> host = message.opt.uri_host
> port = message.opt.uri_port or self._default_port
> if host is None:
> raise ValueError("No location found to send message to
> (neither in .opt.uri_host nor in .remote)")
> else:
> host, port = util.hostportsplit(message.unresolved_remote)
> port = port or self._default_port
>
> if (host, port) in self._pool:
> return self._pool[(host, port)]
>
> try:
> > _, protocol = await self.loop.create_connection(
> lambda: TcpConnection(self, self.log, self.loop,
> is_server=False),
> host, port,
> ssl=self._ssl_context_factory(message.unresolved_remote))
>
> aiocoap/transports/tcp.py:343:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> protocol_factory = <function TCPClient._spawn_protocol.<locals>.<lambda> at
> 0x7f39254f6e50>
> host = 'none', port = 5684
>
> async def create_connection(
> self, protocol_factory, host=None, port=None,
> *, ssl=None, family=0,
> proto=0, flags=0, sock=None,
> local_addr=None, server_hostname=None,
> ssl_handshake_timeout=None,
> happy_eyeballs_delay=None, interleave=None):
> """Connect to a TCP server.
>
> Create a streaming transport connection to a given Internet host and
> port: socket family AF_INET or socket.AF_INET6 depending on host (or
> family if specified), socket type SOCK_STREAM. protocol_factory must
> be
> a callable returning a protocol instance.
>
> This method is a coroutine which will try to establish the connection
> in the background. When successful, the coroutine returns a
> (transport, protocol) pair.
> """
> if server_hostname is not None and not ssl:
> raise ValueError('server_hostname is only meaningful with ssl')
>
> if server_hostname is None and ssl:
> # Use host as default for server_hostname. It is an error
> # if host is empty or not set, e.g. when an
> # already-connected socket was passed or when only a port
> # is given. To avoid this error, you can pass
> # server_hostname='' -- this will bypass the hostname
> # check. (This also means that if host is a numeric
> # IP/IPv6 address, we will attempt to verify that exact
> # address; this will probably fail, but it is possible to
> # create a certificate for a specific IP address, so we
> # don't judge it here.)
> if not host:
> raise ValueError('You must set server_hostname '
> 'when using ssl without a host')
> server_hostname = host
>
> if ssl_handshake_timeout is not None and not ssl:
> raise ValueError(
> 'ssl_handshake_timeout is only meaningful with ssl')
>
> if sock is not None:
> _check_ssl_socket(sock)
>
> if happy_eyeballs_delay is not None and interleave is None:
> # If using happy eyeballs, default to interleave addresses by
> family
> interleave = 1
>
> if host is not None or port is not None:
> if sock is not None:
> raise ValueError(
> 'host/port and sock can not be specified at the same
> time')
>
> > infos = await self._ensure_resolved(
> (host, port), family=family,
> type=socket.SOCK_STREAM, proto=proto, flags=flags, loop=self)
>
> /usr/lib/python3.9/asyncio/base_events.py:1026:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> address = ('none', 5684)
>
> async def _ensure_resolved(self, address, *,
> family=0, type=socket.SOCK_STREAM,
> proto=0, flags=0, loop):
> host, port = address[:2]
> info = _ipaddr_info(host, port, family, type, proto, *address[2:])
> if info is not None:
> # "host" is already a resolved IP.
> return [info]
> else:
> > return await loop.getaddrinfo(host, port, family=family,
> > type=type,
> proto=proto, flags=flags)
>
> /usr/lib/python3.9/asyncio/base_events.py:1405:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> host = 'none', port = 5684
>
> async def getaddrinfo(self, host, port, *,
> family=0, type=0, proto=0, flags=0):
> if self._debug:
> getaddr_func = self._getaddrinfo_debug
> else:
> getaddr_func = socket.getaddrinfo
>
> > return await self.run_in_executor(
> None, getaddr_func, host, port, family, type, proto, flags)
>
> /usr/lib/python3.9/asyncio/base_events.py:861:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = None
>
> def run(self):
> if not self.future.set_running_or_notify_cancel():
> return
>
> try:
> > result = self.fn(*self.args, **self.kwargs)
>
> /usr/lib/python3.9/concurrent/futures/thread.py:58:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = 'none', port = 5684, family = 0, type = <SocketKind.SOCK_STREAM: 1>
> proto = 0, flags = 0
>
> def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
> """Resolve host and port into list of address info entries.
>
> Translate the host/port argument into a sequence of 5-tuples that
> contain
> all the necessary arguments for creating a socket connected to that
> service.
> host is a domain name, a string representation of an IPv4/v6 address
> or
> None. port is a string service name such as 'http', a numeric port
> number or
> None. By passing None as the value of host and port, you can pass
> NULL to
> the underlying C API.
>
> The family, type and proto arguments can be optionally specified in
> order to
> narrow the list of addresses returned. Passing zero as a value for
> each of
> these arguments selects the full range of results.
> """
> # We override this function since we want to translate the numeric
> family
> # and socket type values to enum constants.
> addrlist = []
> > for res in _socket.getaddrinfo(host, port, family, type, proto,
> > flags):
> E socket.gaierror: [Errno -2] Name or service not known
>
> /usr/lib/python3.9/socket.py:954: gaierror
>
> During handling of the above exception, another exception occurred:
>
> self = <tests.test_tls.TestTLS testMethod=test_tls>
> function = <function TestTLS.test_tls at 0x7f3925f04af0>, args = ()
> startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.9/asyncio/base_events.py:647: in run_until_complete
> return future.result()
> /usr/lib/python3.9/asyncio/tasks.py:611: in _wait_for_one
> return f.result() # May raise f.exception().
> tests/test_tls.py:84: in test_tls
> response = await self.client.request(request).response_raising
> aiocoap/protocol.py:643: in response_raising
> response = await self.response
> aiocoap/protocol.py:842: in _run_outer
> await cls._run(app_request, response, weak_observation, protocol, log)
> aiocoap/protocol.py:867: in _run
> await protocol.find_remote_and_interface(app_request)
> aiocoap/protocol.py:340: in find_remote_and_interface
> if await ri.fill_or_recognize_remote(message):
> aiocoap/tokenmanager.py:194: in fill_or_recognize_remote
> return await self.token_interface.fill_or_recognize_remote(message)
> aiocoap/transports/tcp.py:398: in fill_or_recognize_remote
> message.remote = await self._spawn_protocol(message)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <aiocoap.transports.tls.TLSClient object at 0x7f3925326be0>
> message = <aiocoap.Message at 0x7f39255823a0: no mtype, GET (no MID, empty
> token) remote UndecidedRemote(scheme='coaps+tcp', hostinfo='None'), 1
> option(s)>
>
> async def _spawn_protocol(self, message):
> if message.unresolved_remote is None:
> host = message.opt.uri_host
> port = message.opt.uri_port or self._default_port
> if host is None:
> raise ValueError("No location found to send message to
> (neither in .opt.uri_host nor in .remote)")
> else:
> host, port = util.hostportsplit(message.unresolved_remote)
> port = port or self._default_port
>
> if (host, port) in self._pool:
> return self._pool[(host, port)]
>
> try:
> _, protocol = await self.loop.create_connection(
> lambda: TcpConnection(self, self.log, self.loop,
> is_server=False),
> host, port,
> ssl=self._ssl_context_factory(message.unresolved_remote))
> except socket.gaierror:
> > raise error.ResolutionError("No address information found for
> > requests to %r" % host)
> E aiocoap.error.ResolutionError: No address information found for
> requests to 'none'
>
> aiocoap/transports/tcp.py:349: ResolutionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> =============================== warnings summary
> ===============================
> aiocoap/resource.py:266
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/aiocoap/resource.py:266:
> DeprecationWarning: invalid escape sequence \
> """Class that indicates that a resource promises to parse the uri_path
>
> tests/test_server.py:116
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/tests/test_server.py:116:
> PytestCollectionWarning: cannot collect test class 'TestingSite' because it
> has a __init__ constructor (from:
> .pybuild/cpython3_3.9_aiocoap/build/tests/test_blockwise.py)
> class TestingSite(aiocoap.resource.Site):
>
> tests/test_server.py:116
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build/tests/test_server.py:116:
> PytestCollectionWarning: cannot collect test class 'TestingSite' because it
> has a __init__ constructor (from:
> .pybuild/cpython3_3.9_aiocoap/build/tests/test_server.py)
> class TestingSite(aiocoap.resource.Site):
>
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info
> ============================
> FAILED tests/test_client.py::TestClientWithSetHost::test_uri_parser -
> TypeErr...
> FAILED tests/test_client.py::TestClientWithHostlessMessages::test_uri_parser
> FAILED tests/test_reverseproxy.py::TestReverseProxy::test_options -
> TypeError...
> FAILED tests/test_reverseproxy.py::TestReverseProxy::test_routing -
> TypeError...
> FAILED tests/test_tls.py::TestTLS::test_tls - aiocoap.error.ResolutionError:
> ...
> ERROR tests/test_client.py::TestClientWithSetHost::test_uri_parser -
> Assertio...
> ERROR tests/test_client.py::TestClientWithHostlessMessages::test_uri_parser
> ERROR tests/test_tls.py::TestTLS::test_tls - AssertionError: False is not
> tru...
> = 5 failed, 75 passed, 125 skipped, 5 deselected, 1 xfailed, 3 warnings, 3
> errors in 20.62s =
> E: pybuild pybuild:369: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_aiocoap/build; python3.9 -m pytest -k
> 'not test_commandline'
> I: pybuild base:239: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build; python3.10 -m pytest
> -k 'not test_commandline'
> ============================= test session starts
> ==============================
> platform linux -- Python 3.10.5, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
> rootdir: /<<PKGBUILDDIR>>
> collected 211 items / 5 deselected / 206 selected
>
> tests/test_blockwise.py .s. [
> 1%]
> tests/test_client.py FE.FE.... [
> 4%]
> tests/test_credentials.py ..s [
> 6%]
> tests/test_dtls.py ssssssssssss [
> 12%]
> tests/test_encoding.py ........... [
> 17%]
> tests/test_group_oscore.py ssssssssssssssssssssssss [
> 29%]
> tests/test_noncoap_client.py .......ss [
> 33%]
> tests/test_noncoap_tcp_client.py ........... [
> 38%]
> tests/test_observe.py .......x.... [
> 44%]
> tests/test_oscore.py ssssssssssssssssssssss [
> 55%]
> tests/test_oscore_plugtest.py ssssssssssssssssssssssssssssssssssssssssss [
> 75%]
> ssssss [
> 78%]
> tests/test_rd_examples.py ss [
> 79%]
> tests/test_reverseproxy.py FF [
> 80%]
> tests/test_server.py ........................ssssssssssss [
> 98%]
> tests/test_tls.py FE [
> 98%]
> tests/test_uri_handling.py .. [
> 99%]
> tests/test_util_cryptography.py s
> [100%]
>
> ==================================== ERRORS
> ====================================
> __________ ERROR at teardown of TestClientWithSetHost.test_uri_parser
> __________
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:51:13,878:DEBUG:coap:Sending request - Token: 76ff,
> Remote: <UDP6EndpointAddress [::1]>
> E 2022-06-24 05:51:13,878:DEBUG:coap:Sending message <aiocoap.Message
> at 0x7fe89670e740: Type.CON GET (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> E 2022-06-24 05:51:13,879:DEBUG:coap:Exchange added, message ID: 10639.
> E 2022-06-24 05:51:13,879:DEBUG:coap-server:Incoming message
> <aiocoap.Message at 0x7fe89670d600: Type.CON GET (MID 10639, token 76ff)
> remote <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 2 option(s)>
> E 2022-06-24 05:51:13,879:DEBUG:coap-server:New unique message received
> E 2022-06-24 05:51:13,879:DEBUG:coap-server:Sending message
> <aiocoap.Message at 0x7fe896694190: Type.ACK 2.05 Content (MID 10639, token
> 76ff) remote <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:13,880:DEBUG:coap:Incoming message <aiocoap.Message
> at 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:13,880:DEBUG:coap:Exchange removed, message ID:
> 10639.
> E 2022-06-24 05:51:13,880:DEBUG:coap:Received Response:
> <aiocoap.Message at 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token
> 76ff) remote <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:13,880:DEBUG:coap:Response <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89670c790 around <aiocoap.Message at 0x7fe89670e740:
> Type.CON GET (MID 10639, token 76ff) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> E 2022-06-24 05:51:13,891:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:51:13,892:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 76ff, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7fe89670e740: Type.CON GET (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 10639.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7fe89670d600: Type.CON GET (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7fe896694190: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 10639.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89670c790 around <aiocoap.Message at 0x7fe89670e740:
> Type.CON GET (MID 10639, token 76ff) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> _____ ERROR at teardown of TestClientWithHostlessMessages.test_uri_parser
> ______
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:51:14,132:DEBUG:coap:Sending request - Token: bb8a,
> Remote: <UDP6EndpointAddress [::1]>
> E 2022-06-24 05:51:14,133:DEBUG:coap:Sending message <aiocoap.Message
> at 0x7fe89639d720: Type.CON GET (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> E 2022-06-24 05:51:14,133:DEBUG:coap:Exchange added, message ID: 5906.
> E 2022-06-24 05:51:14,133:DEBUG:coap-server:Incoming message
> <aiocoap.Message at 0x7fe89639f220: Type.CON GET (MID 5906, token bb8a)
> remote <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 2 option(s)>
> E 2022-06-24 05:51:14,133:DEBUG:coap-server:New unique message received
> E 2022-06-24 05:51:14,134:DEBUG:coap-server:Sending message
> <aiocoap.Message at 0x7fe896704ee0: Type.ACK 2.05 Content (MID 5906, token
> bb8a) remote <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:14,134:DEBUG:coap:Incoming message <aiocoap.Message
> at 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:14,135:DEBUG:coap:Exchange removed, message ID: 5906.
> E 2022-06-24 05:51:14,135:DEBUG:coap:Received Response:
> <aiocoap.Message at 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token
> bb8a) remote <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> E 2022-06-24 05:51:14,135:DEBUG:coap:Response <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89639d960 around <aiocoap.Message at 0x7fe89639d720:
> Type.CON GET (MID 5906, token bb8a) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> E 2022-06-24 05:51:14,146:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:51:14,146:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: bb8a, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7fe89639d720: Type.CON GET (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 5906.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7fe89639f220: Type.CON GET (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7fe896704ee0: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 5906.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89639d960 around <aiocoap.Message at 0x7fe89639d720:
> Type.CON GET (MID 5906, token bb8a) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ____________________ ERROR at teardown of TestTLS.test_tls
> _____________________
>
> self = <tests.test_tls.TestTLS testMethod=test_tls>
>
> def tearDown(self):
> super(WithLogMonitoring, self).tearDown()
>
> logging.root.removeHandler(self.handler)
>
> complete_log = " Complete log:\n" + "\n".join(
> x.preformatted for x in self.handler.list if x.name !=
> 'asyncio')
>
> if 'AIOCOAP_TESTS_SHOWLOG' in os.environ:
> print(complete_log, file=sys.stderr)
> complete_log = "was just printed unconditionally anyway"
>
> > self.assertTrue(is_test_successful(self),
> "Previous errors were raised." + complete_log)
> E AssertionError: False is not true : Previous errors were raised.
> Complete log:
> E 2022-06-24 05:51:30,138:DEBUG:coap-server:Shutting down context
> E 2022-06-24 05:51:30,139:DEBUG:coap:Shutting down context
>
> tests/fixtures.py:116: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> =================================== FAILURES
> ===================================
> ____________________ TestClientWithSetHost.test_uri_parser
> _____________________
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
> function = <function TestClientWithSetHost.test_uri_parser at 0x7fe896545630>
> args = (), startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
> return future.result()
> /usr/lib/python3.10/asyncio/tasks.py:571: in _wait_for_one
> return f.result() # May raise f.exception().
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <tests.test_client.TestClientWithSetHost testMethod=test_uri_parser>
>
> @no_warnings
> @asynctest
> async def test_uri_parser(self):
> request = aiocoap.Message(code=aiocoap.GET)
> request_uri = "coap://" + self.servernetloc + "/empty?query=a&query=b"
> request.set_request_uri(request_uri, set_uri_host=self.set_uri_host)
> self.assertEqual(request.get_request_uri(), request_uri, "Request URL
> does not round-trip in request")
> response = await self.client.request(request).response
> self.assertEqual(response.get_request_uri(), request_uri, "Request
> URL does not round-trip in response")
> self.assertEqual(response.code, aiocoap.CONTENT, "Request URL
> building failed")
>
> request = aiocoap.Message(code=aiocoap.GET)
> > request.set_request_uri("coap://" + self.servernamealias + "/empty",
> > set_uri_host=self.set_uri_host)
> E TypeError: can only concatenate str (not "NoneType") to str
>
> tests/test_client.py:31: TypeError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: 76ff, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7fe89670e740: Type.CON GET (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 10639.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7fe89670d600: Type.CON GET (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7fe896694190: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1]:35157 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 10639.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7fe896695ff0: Type.ACK 2.05 Content (MID 10639, token 76ff) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89670c790 around <aiocoap.Message at 0x7fe89670e740:
> Type.CON GET (MID 10639, token 76ff) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ________________ TestClientWithHostlessMessages.test_uri_parser
> ________________
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
> function = <function TestClientWithSetHost.test_uri_parser at 0x7fe896545630>
> args = (), startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
> return future.result()
> /usr/lib/python3.10/asyncio/tasks.py:571: in _wait_for_one
> return f.result() # May raise f.exception().
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <tests.test_client.TestClientWithHostlessMessages
> testMethod=test_uri_parser>
>
> @no_warnings
> @asynctest
> async def test_uri_parser(self):
> request = aiocoap.Message(code=aiocoap.GET)
> request_uri = "coap://" + self.servernetloc + "/empty?query=a&query=b"
> request.set_request_uri(request_uri, set_uri_host=self.set_uri_host)
> self.assertEqual(request.get_request_uri(), request_uri, "Request URL
> does not round-trip in request")
> response = await self.client.request(request).response
> self.assertEqual(response.get_request_uri(), request_uri, "Request
> URL does not round-trip in response")
> self.assertEqual(response.code, aiocoap.CONTENT, "Request URL
> building failed")
>
> request = aiocoap.Message(code=aiocoap.GET)
> > request.set_request_uri("coap://" + self.servernamealias + "/empty",
> > set_uri_host=self.set_uri_host)
> E TypeError: can only concatenate str (not "NoneType") to str
>
> tests/test_client.py:31: TypeError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap:tokenmanager.py:209 Sending request - Token: bb8a, Remote:
> <UDP6EndpointAddress [::1]>
> DEBUG coap:messagemanager.py:423 Sending message <aiocoap.Message at
> 0x7fe89639d720: Type.CON GET (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]>, 2 option(s)>
> DEBUG coap:messagemanager.py:209 Exchange added, message ID: 5906.
> DEBUG coap-server:messagemanager.py:83 Incoming message <aiocoap.Message
> at 0x7fe89639f220: Type.CON GET (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 2 option(s)>
> DEBUG coap-server:messagemanager.py:175 New unique message received
> DEBUG coap-server:messagemanager.py:423 Sending message <aiocoap.Message
> at 0x7fe896704ee0: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1]:59776 (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:83 Incoming message <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:messagemanager.py:224 Exchange removed, message ID: 5906.
> DEBUG coap:messagemanager.py:332 Received Response: <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)>
> DEBUG coap:tokenmanager.py:170 Response <aiocoap.Message at
> 0x7fe89639fc40: Type.ACK 2.05 Content (MID 5906, token bb8a) remote
> <UDP6EndpointAddress [::1] (locally ::1%lo)>, 1 option(s)> matched to request
> <PlumbingRequest at 0x7fe89639d960 around <aiocoap.Message at 0x7fe89639d720:
> Type.CON GET (MID 5906, token bb8a) remote <UDP6EndpointAddress [::1]>, 2
> option(s)> with 2 callbacks>
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> ________________________ TestReverseProxy.test_options
> _________________________
>
> self = <tests.test_reverseproxy.TestReverseProxy testMethod=test_options>
>
> def setUp(self):
> super(WithReverseProxy, self).setUp()
>
> self.reverseproxy = aiocoap.cli.proxy.Main(
> > ["--reverse", "--bind", hostportjoin(self.proxyhost,
> > self.proxyport), "--namebased", "%s:%s"%(self.name_for_real_server,
> > self.servernetloc), "--pathbased",
> > "%s:%s"%("/".join(self.path_for_real_server), self.servernetloc)],
> loop=self.loop,
> )
>
> tests/test_reverseproxy.py:23:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = None, port = 56839
>
> def hostportjoin(host, port=None):
> """Join a host and optionally port into a hostinfo-style host:port
> string
>
> >>> hostportjoin('example.com')
> 'example.com'
> >>> hostportjoin('example.com', 1234)
> 'example.com:1234'
> >>> hostportjoin('127.0.0.1', 1234)
> '127.0.0.1:1234'
>
> This is lax with respect to whether host is an IPv6 literal in
> brackets or
> not, and accepts either form; IP-future literals that do not contain a
> colon must be already presented in their bracketed form:
>
> >>> hostportjoin('2001:db8::1')
> '[2001:db8::1]'
> >>> hostportjoin('2001:db8::1', 1234)
> '[2001:db8::1]:1234'
> >>> hostportjoin('[2001:db8::1]', 1234)
> '[2001:db8::1]:1234'
> """
> > if ':' in host and not (host.startswith('[') and host.endswith(']')):
> E TypeError: argument of type 'NoneType' is not iterable
>
> aiocoap/util/__init__.py:86: TypeError
> ________________________ TestReverseProxy.test_routing
> _________________________
>
> self = <tests.test_reverseproxy.TestReverseProxy testMethod=test_routing>
>
> def setUp(self):
> super(WithReverseProxy, self).setUp()
>
> self.reverseproxy = aiocoap.cli.proxy.Main(
> > ["--reverse", "--bind", hostportjoin(self.proxyhost,
> > self.proxyport), "--namebased", "%s:%s"%(self.name_for_real_server,
> > self.servernetloc), "--pathbased",
> > "%s:%s"%("/".join(self.path_for_real_server), self.servernetloc)],
> loop=self.loop,
> )
>
> tests/test_reverseproxy.py:23:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = None, port = 56839
>
> def hostportjoin(host, port=None):
> """Join a host and optionally port into a hostinfo-style host:port
> string
>
> >>> hostportjoin('example.com')
> 'example.com'
> >>> hostportjoin('example.com', 1234)
> 'example.com:1234'
> >>> hostportjoin('127.0.0.1', 1234)
> '127.0.0.1:1234'
>
> This is lax with respect to whether host is an IPv6 literal in
> brackets or
> not, and accepts either form; IP-future literals that do not contain a
> colon must be already presented in their bracketed form:
>
> >>> hostportjoin('2001:db8::1')
> '[2001:db8::1]'
> >>> hostportjoin('2001:db8::1', 1234)
> '[2001:db8::1]:1234'
> >>> hostportjoin('[2001:db8::1]', 1234)
> '[2001:db8::1]:1234'
> """
> > if ':' in host and not (host.startswith('[') and host.endswith(']')):
> E TypeError: argument of type 'NoneType' is not iterable
>
> aiocoap/util/__init__.py:86: TypeError
> _______________________________ TestTLS.test_tls
> _______________________________
>
> self = <aiocoap.transports.tls.TLSClient object at 0x7fe89639f550>
> message = <aiocoap.Message at 0x7fe89639f0d0: no mtype, GET (no MID, empty
> token) remote UndecidedRemote(scheme='coaps+tcp', hostinfo='None'), 1
> option(s)>
>
> async def _spawn_protocol(self, message):
> if message.unresolved_remote is None:
> host = message.opt.uri_host
> port = message.opt.uri_port or self._default_port
> if host is None:
> raise ValueError("No location found to send message to
> (neither in .opt.uri_host nor in .remote)")
> else:
> host, port = util.hostportsplit(message.unresolved_remote)
> port = port or self._default_port
>
> if (host, port) in self._pool:
> return self._pool[(host, port)]
>
> try:
> > _, protocol = await self.loop.create_connection(
> lambda: TcpConnection(self, self.log, self.loop,
> is_server=False),
> host, port,
> ssl=self._ssl_context_factory(message.unresolved_remote))
>
> aiocoap/transports/tcp.py:343:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> protocol_factory = <function TCPClient._spawn_protocol.<locals>.<lambda> at
> 0x7fe8959df1c0>
> host = 'none', port = 5684
>
> async def create_connection(
> self, protocol_factory, host=None, port=None,
> *, ssl=None, family=0,
> proto=0, flags=0, sock=None,
> local_addr=None, server_hostname=None,
> ssl_handshake_timeout=None,
> happy_eyeballs_delay=None, interleave=None):
> """Connect to a TCP server.
>
> Create a streaming transport connection to a given internet host and
> port: socket family AF_INET or socket.AF_INET6 depending on host (or
> family if specified), socket type SOCK_STREAM. protocol_factory must
> be
> a callable returning a protocol instance.
>
> This method is a coroutine which will try to establish the connection
> in the background. When successful, the coroutine returns a
> (transport, protocol) pair.
> """
> if server_hostname is not None and not ssl:
> raise ValueError('server_hostname is only meaningful with ssl')
>
> if server_hostname is None and ssl:
> # Use host as default for server_hostname. It is an error
> # if host is empty or not set, e.g. when an
> # already-connected socket was passed or when only a port
> # is given. To avoid this error, you can pass
> # server_hostname='' -- this will bypass the hostname
> # check. (This also means that if host is a numeric
> # IP/IPv6 address, we will attempt to verify that exact
> # address; this will probably fail, but it is possible to
> # create a certificate for a specific IP address, so we
> # don't judge it here.)
> if not host:
> raise ValueError('You must set server_hostname '
> 'when using ssl without a host')
> server_hostname = host
>
> if ssl_handshake_timeout is not None and not ssl:
> raise ValueError(
> 'ssl_handshake_timeout is only meaningful with ssl')
>
> if sock is not None:
> _check_ssl_socket(sock)
>
> if happy_eyeballs_delay is not None and interleave is None:
> # If using happy eyeballs, default to interleave addresses by
> family
> interleave = 1
>
> if host is not None or port is not None:
> if sock is not None:
> raise ValueError(
> 'host/port and sock can not be specified at the same
> time')
>
> > infos = await self._ensure_resolved(
> (host, port), family=family,
> type=socket.SOCK_STREAM, proto=proto, flags=flags, loop=self)
>
> /usr/lib/python3.10/asyncio/base_events.py:1025:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> address = ('none', 5684)
>
> async def _ensure_resolved(self, address, *,
> family=0, type=socket.SOCK_STREAM,
> proto=0, flags=0, loop):
> host, port = address[:2]
> info = _ipaddr_info(host, port, family, type, proto, *address[2:])
> if info is not None:
> # "host" is already a resolved IP.
> return [info]
> else:
> > return await loop.getaddrinfo(host, port, family=family,
> > type=type,
> proto=proto, flags=flags)
>
> /usr/lib/python3.10/asyncio/base_events.py:1404:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <_UnixSelectorEventLoop running=False closed=False debug=False>
> host = 'none', port = 5684
>
> async def getaddrinfo(self, host, port, *,
> family=0, type=0, proto=0, flags=0):
> if self._debug:
> getaddr_func = self._getaddrinfo_debug
> else:
> getaddr_func = socket.getaddrinfo
>
> > return await self.run_in_executor(
> None, getaddr_func, host, port, family, type, proto, flags)
>
> /usr/lib/python3.10/asyncio/base_events.py:860:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = None
>
> def run(self):
> if not self.future.set_running_or_notify_cancel():
> return
>
> try:
> > result = self.fn(*self.args, **self.kwargs)
>
> /usr/lib/python3.10/concurrent/futures/thread.py:58:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> host = 'none', port = 5684, family = 0, type = <SocketKind.SOCK_STREAM: 1>
> proto = 0, flags = 0
>
> def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
> """Resolve host and port into list of address info entries.
>
> Translate the host/port argument into a sequence of 5-tuples that
> contain
> all the necessary arguments for creating a socket connected to that
> service.
> host is a domain name, a string representation of an IPv4/v6 address
> or
> None. port is a string service name such as 'http', a numeric port
> number or
> None. By passing None as the value of host and port, you can pass
> NULL to
> the underlying C API.
>
> The family, type and proto arguments can be optionally specified in
> order to
> narrow the list of addresses returned. Passing zero as a value for
> each of
> these arguments selects the full range of results.
> """
> # We override this function since we want to translate the numeric
> family
> # and socket type values to enum constants.
> addrlist = []
> > for res in _socket.getaddrinfo(host, port, family, type, proto,
> > flags):
> E socket.gaierror: [Errno -2] Name or service not known
>
> /usr/lib/python3.10/socket.py:955: gaierror
>
> During handling of the above exception, another exception occurred:
>
> self = <tests.test_tls.TestTLS testMethod=test_tls>
> function = <function TestTLS.test_tls at 0x7fe8964e3a30>, args = ()
> startcount = 0
>
> def wrapped(self, *args, function=function):
> # assertLogs does not work as assertDoesntLog anyway without major
> # tricking, and it interacts badly with WithLogMonitoring as they both
> # try to change the root logger's level.
>
> startcount = len(self.handler.list)
> > result = function(self, *args)
>
> tests/fixtures.py:75:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/fixtures.py:57: in wrapper
> return self.loop.run_until_complete(f)
> /usr/lib/python3.10/asyncio/base_events.py:646: in run_until_complete
> return future.result()
> /usr/lib/python3.10/asyncio/tasks.py:571: in _wait_for_one
> return f.result() # May raise f.exception().
> tests/test_tls.py:84: in test_tls
> response = await self.client.request(request).response_raising
> aiocoap/protocol.py:643: in response_raising
> response = await self.response
> aiocoap/protocol.py:842: in _run_outer
> await cls._run(app_request, response, weak_observation, protocol, log)
> aiocoap/protocol.py:867: in _run
> await protocol.find_remote_and_interface(app_request)
> aiocoap/protocol.py:340: in find_remote_and_interface
> if await ri.fill_or_recognize_remote(message):
> aiocoap/tokenmanager.py:194: in fill_or_recognize_remote
> return await self.token_interface.fill_or_recognize_remote(message)
> aiocoap/transports/tcp.py:398: in fill_or_recognize_remote
> message.remote = await self._spawn_protocol(message)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <aiocoap.transports.tls.TLSClient object at 0x7fe89639f550>
> message = <aiocoap.Message at 0x7fe89639f0d0: no mtype, GET (no MID, empty
> token) remote UndecidedRemote(scheme='coaps+tcp', hostinfo='None'), 1
> option(s)>
>
> async def _spawn_protocol(self, message):
> if message.unresolved_remote is None:
> host = message.opt.uri_host
> port = message.opt.uri_port or self._default_port
> if host is None:
> raise ValueError("No location found to send message to
> (neither in .opt.uri_host nor in .remote)")
> else:
> host, port = util.hostportsplit(message.unresolved_remote)
> port = port or self._default_port
>
> if (host, port) in self._pool:
> return self._pool[(host, port)]
>
> try:
> _, protocol = await self.loop.create_connection(
> lambda: TcpConnection(self, self.log, self.loop,
> is_server=False),
> host, port,
> ssl=self._ssl_context_factory(message.unresolved_remote))
> except socket.gaierror:
> > raise error.ResolutionError("No address information found for
> > requests to %r" % host)
> E aiocoap.error.ResolutionError: No address information found for
> requests to 'none'
>
> aiocoap/transports/tcp.py:349: ResolutionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG coap-server:protocol.py:317 Shutting down context
> DEBUG coap:protocol.py:317 Shutting down context
> =============================== warnings summary
> ===============================
> aiocoap/resource.py:266
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/aiocoap/resource.py:266:
> DeprecationWarning: invalid escape sequence '\ '
> """Class that indicates that a resource promises to parse the uri_path
>
> tests/test_server.py:116
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/tests/test_server.py:116:
> PytestCollectionWarning: cannot collect test class 'TestingSite' because it
> has a __init__ constructor (from:
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_blockwise.py)
> class TestingSite(aiocoap.resource.Site):
>
> tests/test_server.py:116
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/tests/test_server.py:116:
> PytestCollectionWarning: cannot collect test class 'TestingSite' because it
> has a __init__ constructor (from:
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_server.py)
> class TestingSite(aiocoap.resource.Site):
>
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_blockwise.py: 2 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_client.py: 7 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_noncoap_client.py: 7 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_noncoap_tcp_client.py: 11
> warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_observe.py: 12 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_reverseproxy.py: 2 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_server.py: 24 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_tls.py: 1 warning
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/tests/fixtures.py:183:
> DeprecationWarning: There is no current event loop
> self.loop = asyncio.get_event_loop()
>
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_blockwise.py: 2 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_client.py: 6 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_noncoap_client.py: 7 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_noncoap_tcp_client.py: 11
> warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_observe.py: 12 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_server.py: 34 warnings
> .pybuild/cpython3_3.10_aiocoap/build/tests/test_tls.py: 1 warning
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build/tests/fixtures.py:54:
> DeprecationWarning: There is no current event loop
> for f in asyncio.as_completed([task],
>
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info
> ============================
> FAILED tests/test_client.py::TestClientWithSetHost::test_uri_parser -
> TypeErr...
> FAILED tests/test_client.py::TestClientWithHostlessMessages::test_uri_parser
> FAILED tests/test_reverseproxy.py::TestReverseProxy::test_options -
> TypeError...
> FAILED tests/test_reverseproxy.py::TestReverseProxy::test_routing -
> TypeError...
> FAILED tests/test_tls.py::TestTLS::test_tls - aiocoap.error.ResolutionError:
> ...
> ERROR tests/test_client.py::TestClientWithSetHost::test_uri_parser -
> Assertio...
> ERROR tests/test_client.py::TestClientWithHostlessMessages::test_uri_parser
> ERROR tests/test_tls.py::TestTLS::test_tls - AssertionError: False is not
> tru...
> = 5 failed, 75 passed, 125 skipped, 5 deselected, 1 xfailed, 142 warnings, 3
> errors in 17.70s =
> E: pybuild pybuild:369: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_aiocoap/build; python3.10 -m pytest
> -k 'not test_commandline'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9
> 3.10" returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2022/06/24/aiocoap_0.4.3-0.1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220624;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220624&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---