ROOT: skip environment lint, matches filter 'lint'
.pkg: remove tox env folder /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.pkg
py38: install_deps> python -I -m pip install aioresponses coverage pyee pytest pytest-aiohttp pytest-aioresponses python-dateutil dependencies/api-client.tar.gz dependencies/python-test-helper.tar.gz
.pkg: install_requires> python -I -m pip install 'setuptools>=61.0'
.pkg: _optional_hooks> python /usr/local/lib/python3.10/dist-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /usr/local/lib/python3.10/dist-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_wheel> python /usr/local/lib/python3.10/dist-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: install_requires_for_build_wheel> python -I -m pip install wheel
.pkg: freeze> python -m pip freeze --all
.pkg: pip==24.0,setuptools==69.1.0,wheel==0.42.0
.pkg: prepare_metadata_for_build_wheel> python /usr/local/lib/python3.10/dist-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: build_sdist> python /usr/local/lib/python3.10/dist-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: install_package_deps> python -I -m pip install 'crosslab-aiortc>=1.8.0' crosslab-api-client
py38: install_package> python -I -m pip install --force-reinstall --no-deps /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/2/crosslab_soa_client-0.0.0.tar.gz
py38: freeze> python -m pip freeze --all
py38: aiohttp==3.9.5,aioice==0.9.0,aioresponses==0.7.6,aiosignal==1.3.1,async-timeout==4.0.3,attrs==23.2.0,av==11.0.0,cffi==1.16.0,coverage==7.5.4,crosslab-aiortc==1.8.0,crosslab_api_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/api-client.tar.gz#sha256=360391775f45910ec3acfc7e25b5d1d39ab2e85ff82bc1f7c3361839746e8ffc,crosslab_soa_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/2/crosslab_soa_client-0.0.0.tar.gz#sha256=0df4da3ff5075a94458d525454512f45480e754dc30dfd21d00b349624798f5b,cryptography==42.0.8,dnspython==2.6.1,exceptiongroup==1.2.1,frozenlist==1.4.1,google-crc32c==1.5.0,idna==3.7,ifaddr==0.2.0,iniconfig==2.0.0,multidict==6.0.5,packaging==24.1,pip==24.0,pluggy==1.5.0,pycparser==2.22,pyee==11.1.0,pylibsrtp==0.10.0,pyOpenSSL==24.1.0,pytest==8.2.2,pytest-aiohttp==1.0.5,pytest-aioresponses==0.2.0,pytest-asyncio==0.23.7,python-dateutil==2.9.0.post0,setuptools==69.1.0,six==1.16.0,test_helper @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/python-test-helper.tar.gz#sha256=608727e410c4af47ba3dc5ef3812a66ae1e14b5114b7f3ef06bec10b74a58a72,tomli==2.0.1,typing_extensions==4.12.2,wheel==0.42.0,yarl==1.9.4
py38: commands[0]> coverage run --source crosslab.soa_client -m pytest -W error -W ignore:pkg_resources:DeprecationWarning
============================= test session starts ==============================
platform linux -- Python 3.8.19, pytest-8.2.2, pluggy-1.5.0
cachedir: .tox/py38/.pytest_cache
rootdir: /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python
configfile: setup.cfg
plugins: aioresponses-0.2.0, asyncio-0.23.7, aiohttp-1.0.5
asyncio: mode=strict
collected 6 items

tests/test_device_handler.py ..                                          [ 33%]
tests/test_webrtc_connection.py ....                                     [100%]

============================== 6 passed in 15.30s ==============================
Task was destroyed but it is pending!
task: <Task pending name='Task-252' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-253' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-51' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-50' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-152' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-151' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Exception ignored in: <coroutine object Queue.get at 0x7f884c149840>
Traceback (most recent call last):
  File "/usr/lib/python3.8/asyncio/queues.py", line 163, in get
    await getter
  File "/usr/lib/python3.8/asyncio/base_events.py", line 719, in call_soon
    self._check_closed()
  File "/usr/lib/python3.8/asyncio/base_events.py", line 508, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-279' coro=<ServiceStub._receive() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/test_helper/service_stub.py:111> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='Task-357' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-356' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py38/lib/python3.8/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
py38: OK ✔ in 38.87 seconds
py39: install_deps> python -I -m pip install aioresponses coverage pyee pytest pytest-aiohttp pytest-aioresponses python-dateutil dependencies/api-client.tar.gz dependencies/python-test-helper.tar.gz
py39: install_package_deps> python -I -m pip install 'crosslab-aiortc>=1.8.0' crosslab-api-client
py39: install_package> python -I -m pip install --force-reinstall --no-deps /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/3/crosslab_soa_client-0.0.0.tar.gz
py39: freeze> python -m pip freeze --all
py39: aiohttp==3.9.5,aioice==0.9.0,aioresponses==0.7.6,aiosignal==1.3.1,async-timeout==4.0.3,attrs==23.2.0,av==11.0.0,cffi==1.16.0,coverage==7.5.4,crosslab-aiortc==1.8.0,crosslab_api_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/api-client.tar.gz#sha256=360391775f45910ec3acfc7e25b5d1d39ab2e85ff82bc1f7c3361839746e8ffc,crosslab_soa_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/3/crosslab_soa_client-0.0.0.tar.gz#sha256=0df4da3ff5075a94458d525454512f45480e754dc30dfd21d00b349624798f5b,cryptography==42.0.8,dnspython==2.6.1,exceptiongroup==1.2.1,frozenlist==1.4.1,google-crc32c==1.5.0,idna==3.7,ifaddr==0.2.0,iniconfig==2.0.0,multidict==6.0.5,packaging==24.1,pip==24.0,pluggy==1.5.0,pycparser==2.22,pyee==11.1.0,pylibsrtp==0.10.0,pyOpenSSL==24.1.0,pytest==8.2.2,pytest-aiohttp==1.0.5,pytest-aioresponses==0.2.0,pytest-asyncio==0.23.7,python-dateutil==2.9.0.post0,setuptools==69.1.0,six==1.16.0,test_helper @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/python-test-helper.tar.gz#sha256=608727e410c4af47ba3dc5ef3812a66ae1e14b5114b7f3ef06bec10b74a58a72,tomli==2.0.1,typing_extensions==4.12.2,wheel==0.42.0,yarl==1.9.4
py39: commands[0]> coverage run --source crosslab.soa_client -m pytest -W error -W ignore:pkg_resources:DeprecationWarning
============================= test session starts ==============================
platform linux -- Python 3.9.19, pytest-8.2.2, pluggy-1.5.0
cachedir: .tox/py39/.pytest_cache
rootdir: /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python
configfile: setup.cfg
plugins: aioresponses-0.2.0, asyncio-0.23.7, aiohttp-1.0.5
asyncio: mode=strict
collected 6 items

tests/test_device_handler.py ..                                          [ 33%]
tests/test_webrtc_connection.py ....                                     [100%]

============================== 6 passed in 19.99s ==============================
Task was destroyed but it is pending!
task: <Task pending name='Task-252' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-253' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-51' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-50' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-152' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-151' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Exception ignored in: <coroutine object Queue.get at 0x7fb9a1859740>
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/queues.py", line 166, in get
    await getter
  File "/usr/lib/python3.9/asyncio/base_events.py", line 751, in call_soon
    self._check_closed()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 515, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-279' coro=<ServiceStub._receive() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/test_helper/service_stub.py:111> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='Task-357' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-356' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py39/lib/python3.9/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
py39: OK ✔ in 50.28 seconds
py310: install_deps> python -I -m pip install aioresponses coverage pyee pytest pytest-aiohttp pytest-aioresponses python-dateutil dependencies/api-client.tar.gz dependencies/python-test-helper.tar.gz
py310: install_package_deps> python -I -m pip install 'crosslab-aiortc>=1.8.0' crosslab-api-client
py310: install_package> python -I -m pip install --force-reinstall --no-deps /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/4/crosslab_soa_client-0.0.0.tar.gz
py310: freeze> python -m pip freeze --all
py310: aiohttp==3.9.5,aioice==0.9.0,aioresponses==0.7.6,aiosignal==1.3.1,async-timeout==4.0.3,attrs==23.2.0,av==11.0.0,cffi==1.16.0,coverage==7.5.4,crosslab-aiortc==1.8.0,crosslab_api_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/api-client.tar.gz#sha256=360391775f45910ec3acfc7e25b5d1d39ab2e85ff82bc1f7c3361839746e8ffc,crosslab_soa_client @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/.tmp/package/4/crosslab_soa_client-0.0.0.tar.gz#sha256=0df4da3ff5075a94458d525454512f45480e754dc30dfd21d00b349624798f5b,cryptography==42.0.8,dnspython==2.6.1,exceptiongroup==1.2.1,frozenlist==1.4.1,google-crc32c==1.5.0,idna==3.7,ifaddr==0.2.0,iniconfig==2.0.0,multidict==6.0.5,packaging==24.1,pip==24.0,pluggy==1.5.0,pycparser==2.22,pyee==11.1.0,pylibsrtp==0.10.0,pyOpenSSL==24.1.0,pytest==8.2.2,pytest-aiohttp==1.0.5,pytest-aioresponses==0.2.0,pytest-asyncio==0.23.7,python-dateutil==2.9.0.post0,setuptools==69.1.0,six==1.16.0,test_helper @ file:///builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/dependencies/python-test-helper.tar.gz#sha256=608727e410c4af47ba3dc5ef3812a66ae1e14b5114b7f3ef06bec10b74a58a72,tomli==2.0.1,typing_extensions==4.12.2,wheel==0.42.0,yarl==1.9.4
py310: commands[0]> coverage run --source crosslab.soa_client -m pytest -W error -W ignore:pkg_resources:DeprecationWarning
============================= test session starts ==============================
platform linux -- Python 3.10.12, pytest-8.2.2, pluggy-1.5.0
cachedir: .tox/py310/.pytest_cache
rootdir: /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python
configfile: setup.cfg
plugins: aioresponses-0.2.0, asyncio-0.23.7, aiohttp-1.0.5
asyncio: mode=strict
collected 6 items

tests/test_device_handler.py ..                                          [ 33%]
tests/test_webrtc_connection.py ....                                     [100%]

============================== 6 passed in 23.14s ==============================
Task was destroyed but it is pending!
task: <Task pending name='Task-252' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-253' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() running at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:105> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-51' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-50' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-152' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-151' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Exception ignored in: <coroutine object Queue.get at 0x7f0d3e1907b0>
Traceback (most recent call last):
  File "/usr/lib/python3.10/asyncio/queues.py", line 161, in get
    getter.cancel()  # Just in case getter is not done yet.
  File "/usr/lib/python3.10/asyncio/base_events.py", line 753, in call_soon
    self._check_closed()
  File "/usr/lib/python3.10/asyncio/base_events.py", line 515, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-279' coro=<ServiceStub._receive() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/test_helper/service_stub.py:111> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='Task-357' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
Task was destroyed but it is pending!
task: <Task pending name='Task-356' coro=<WebRTCPeerConnection.__init__.<locals>.optionsTimeout() done, defined at /builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/.tox/py310/lib/python3.10/site-packages/crosslab/soa_client/connection_webrtc.py:104> wait_for=<Future finished result=None>>
py310: OK ✔ in 48.72 seconds
coverage: install_deps> python -I -m pip install coverage
coverage: freeze> python -m pip freeze --all
coverage: coverage==7.5.4,pip==24.0,setuptools==69.1.0,wheel==0.42.0
coverage: commands[0]> coverage combine
Combined data file .coverage.runner-hyvuztwq-project-4590-concurrent-0.17499.XFCInfdx
Combined data file .coverage.runner-hyvuztwq-project-4590-concurrent-0.17652.XeykKoNx
Combined data file .coverage.runner-hyvuztwq-project-4590-concurrent-0.17766.XiwPTPTx
coverage: commands[1]> coverage report
Name                                                     Stmts   Miss  Cover
----------------------------------------------------------------------------
src/crosslab/soa_client/__init__.py                          0      0   100%
src/crosslab/soa_client/connection.py                       58     12    79%
src/crosslab/soa_client/connection_webrtc.py               204     16    92%
src/crosslab/soa_client/device_handler.py                  130     30    77%
src/crosslab/soa_client/media/__init__.py                    0      0   100%
src/crosslab/soa_client/media/gst_track.py                   7      7     0%
src/crosslab/soa_client/media/udp_track.py                  15     15     0%
src/crosslab/soa_client/message_handling.py                  0      0   100%
src/crosslab/soa_client/messages.py                         43      0   100%
src/crosslab/soa_client/service.py                          16      3    81%
src/crosslab/soa_client/test_helper/__init__.py              2      0   100%
src/crosslab/soa_client/test_helper/connection_stub.py      28     20    29%
src/crosslab/soa_client/test_helper/dummy_track.py          23      1    96%
src/crosslab/soa_client/test_helper/service_stub.py         91      0   100%
----------------------------------------------------------------------------
TOTAL                                                      617    104    83%
coverage: commands[2]> coverage xml
Wrote XML report to coverage.xml
  py38: OK (38.86=setup[22.59]+cmd[16.27] seconds)
  py39: OK (50.28=setup[28.84]+cmd[21.44] seconds)
  py310: OK (48.71=setup[24.27]+cmd[24.45] seconds)
  coverage: OK (4.88=setup[4.15]+cmd[0.17,0.27,0.28] seconds)
  congratulations :) (142.81 seconds)