Open kloczek opened 3 years ago
Hey @kloczek :wave:, Thank you for opening an issue. We will get back to you as soon as we can. Also, check out our Open Collective and consider backing us - every little helps!
We also offer priority support for our sponsors. If you require immediate assistance please consider sponsoring us.
@xirdneh Can you help stabilize the build, please?
I have checked the unittest and they are running correctly - master and 5.1.0b1 tag - see below. The only failing unittest is caused by my setting of AWS region in system.
(kombu38) matus@dev:~/dev/kombu$ pytest -ra --ignore t/unit/transport/test_pyro.py --ignore t/unit/transport/test_azureservicebus.py --ignore kombu/transport/azureservicebus.py
Test session starts (platform: linux, Python 3.8.5, pytest 5.3.5, pytest-sugar 0.9.4)
rootdir: /home/matus/dev/kombu, inifile: setup.cfg, testpaths: t/unit/
plugins: cov-2.12.1, case-1.5.3, travis-fold-1.3.0, sugar-0.9.4
collecting ...
t/unit/test_clocks.py ✓✓✓✓✓ 0% ▏
t/unit/test_common.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 3% ▍
t/unit/test_compat.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 5% ▌
t/unit/test_compression.py ✓✓✓✓✓✓✓✓✓✓✓✓ 6% ▋
t/unit/test_connection.py ✓✓✓s✓✓✓✓✓✓✓✓✓✓✓✓s✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 14% █▌
t/unit/test_entity.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 19% █▉
t/unit/test_exceptions.py ✓ 19% █▉
t/unit/test_log.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 21% ██▎
t/unit/test_matcher.py ✓✓✓ 21% ██▎
t/unit/test_message.py ✓✓✓✓ 22% ██▎
t/unit/test_messaging.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 27% ██▊
t/unit/test_mixins.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 29% ██▉
t/unit/test_pidbox.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 31% ███▏
t/unit/test_pools.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 33% ███▍
t/unit/test_serialization.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 36% ███▋
t/unit/test_simple.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 38% ███▊
t/unit/asynchronous/test_hub.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 41% ████▎
t/unit/asynchronous/test_semaphore.py ✓ 42% ████▎
t/unit/asynchronous/test_timer.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 43% ████▍
t/unit/asynchronous/aws/test_aws.py ✓ 43% ████▍
t/unit/asynchronous/aws/test_connection.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 45% ████▌
t/unit/asynchronous/aws/sqs/test_connection.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 47% ████▊
t/unit/asynchronous/aws/sqs/test_queue.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 49% ████▉
t/unit/asynchronous/http/test_curl.py ✓✓✓✓✓✓✓✓✓ 50% █████
t/unit/asynchronous/http/test_http.py ✓✓✓✓✓✓✓✓✓✓✓✓✓ 51% █████▏
t/unit/transport/test_SQS.py ✓ 51% █████▎
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― test_Channel.test_region ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
self = <t.unit.transport.test_SQS.test_Channel object at 0x7f64993470a0>
def test_region(self):
_environ = dict(os.environ)
# when the region is unspecified
connection = Connection(transport=SQS.Transport)
channel = connection.channel()
assert channel.transport_options.get('region') is None
# the default region is us-east-1
> assert channel.region == 'us-east-1'
E AssertionError: assert 'eu-west-1' == 'us-east-1'
E - eu-west-1
E + us-east-1
t/unit/transport/test_SQS.py:214: AssertionError
t/unit/transport/test_SQS.py ⨯✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 54% █████▌
t/unit/transport/test_base.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 57% █████▋
t/unit/transport/test_consul.py ✓✓✓✓✓✓✓✓✓✓✓ 57% █████▊
t/unit/transport/test_filesystem.py ✓✓ 58% █████▊
t/unit/transport/test_memory.py ✓✓✓✓✓✓✓✓ 58% █████▉
t/unit/transport/test_pyamqp.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 60% ██████
t/unit/transport/test_qpid.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 74% ███████▍
t/unit/transport/test_redis.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 82% ████████▎
t/unit/transport/test_sqlalchemy.py ✓✓✓ 82% ████████▎
t/unit/transport/test_transport.py ✓✓✓✓ 83% ████████▍
t/unit/transport/test_zookeeper.py ✓✓✓✓ 83% ████████▍
t/unit/transport/virtual/test_base.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 88% ████████▊
t/unit/transport/virtual/test_exchange.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 90% █████████
t/unit/utils/test_amq_manager.py ✓✓✓ 90% █████████
t/unit/utils/test_compat.py ✓✓✓✓✓✓ 91% █████████▏ t/unit/utils/test_debug.py ✓✓ 91% █████████▏ t/unit/utils/test_div.py ✓✓ 91% █████████▎ t/unit/utils/test_encoding.py ✓✓✓✓✓✓✓✓✓ 92% █████████▎ t/unit/utils/test_functional.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 95% █████████▌ t/unit/utils/test_imports.py ✓✓✓✓✓ 95% █████████▌ t/unit/utils/test_json.py ✓✓✓✓✓✓✓✓✓✓✓ 96% █████████▋ t/unit/utils/test_objects.py ✓✓ 96% █████████▋ t/unit/utils/test_scheduling.py ✓✓✓✓✓✓✓ 97% █████████▊ t/unit/utils/test_time.py ✓✓✓✓✓✓✓✓ 98% █████████▊ t/unit/utils/test_url.py ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 99% █████████▉ t/unit/utils/test_utils.py ✓✓✓✓✓✓ 99% ██████████ t/unit/utils/test_uuid.py ✓✓ 100% ██████████========================================================================================================================= short test summary info ==========================================================================================================================SKIPPED [1] /home/matus/dev/kombu/t/unit/transport/test_etcd.py:9: could not import 'etcd': No module named 'etcd'
SKIPPED [1] /home/matus/dev/kombu/t/unit/transport/test_librabbitmq.py:5: could not import 'librabbitmq': No module named 'librabbitmq'
SKIPPED [1] /home/matus/dev/kombu/t/unit/transport/test_mongodb.py:10: could not import 'pymongo': No module named 'pymongo'
SKIPPED [1] /home/matus/dev/kombu/t/unit/test_connection.py:52: could not import 'pymongo': No module named 'pymongo'
SKIPPED [1] t/unit/test_connection.py:104: TODO: urllib cannot parse ipv6 urls
SKIPPED [164] t/unit/transport/test_qpid.py: Not supported in Python3
FAILED t/unit/transport/test_SQS.py::test_Channel::test_region - AssertionError: assert 'eu-west-1' == 'us-east-1'
Results (16.75s):
999 passed
1 failed
- t/unit/transport/test_SQS.py:206 test_Channel.test_region
166 skipped
It seems that a lot of errors reported are caused by not installed libraries...
OK. Which one in this case?
OK. Which one in this case?
Oh sorry on second look they are skipped:
SKIPPED [4] t/unit/asynchronous/aws/case.py:5: could not import 'boto3': No module named 'boto3'
SKIPPED [1] t/unit/transport/test_SQS.py:21: could not import 'boto3': No module named 'boto3'
SKIPPED [1] t/unit/transport/test_consul.py:9: could not import 'consul': No module named 'consul'
SKIPPED [1] t/unit/transport/test_etcd.py:9: could not import 'etcd': No module named 'etcd'
SKIPPED [1] t/unit/transport/test_librabbitmq.py:5: could not import 'librabbitmq': No module named 'librabbitmq'
SKIPPED [1] t/unit/transport/test_mongodb.py:10: could not import 'pymongo': No module named 'pymongo'
SKIPPED [1] t/unit/transport/test_zookeeper.py:5: could not import 'kazoo': No module named 'kazoo'
SKIPPED [164] t/unit/transport/test_qpid.py: Not supported in Python3
SKIPPED [1] t/unit/test_compression.py:66: could not import 'zstandard': No module named 'zstandard'
SKIPPED [1] t/unit/test_compression.py:29: could not import 'zstandard': No module named 'zstandard'
SKIPPED [1] t/unit/test_connection.py:104: TODO: urllib cannot parse ipv6 urls
SKIPPED [1] t/unit/test_connection.py:52: could not import 'pymongo': No module named 'pymongo'
No sure why these tests are failing. Are you executing them on master branch?
Those test has been skipped because missing modules :) Please have a look on ^FAILED lines.
Just tested 5.2.1 and pytest still is failing:
Just found that on running multiple times pytest set of failing units is different. All that happens because I'm using pytest-randomly
. After disable that pytest plugin only one unit is failing:
you are welcome to contribute to CI and test
So can you confirm that you can reporoduce that effecrt? :)
Yes. This is a long standing bug of the test suite. Some tests just depend on each other. Could you edit this issue to reflect that?
Yes. This is a long standing bug of the test suite. Some tests just depend on each other. Could you edit this issue to reflect that?
If that is true use pytest-randomly
+ https://github.com/mrbean-bremen/pytest-find-dependencies/ shoud help expose all those points where one unit depends on what does other one.
Looks like now test suite is les and less useable and more units are now failing.
Looks like test suite needs to be updated for latest sqlalchemy
that should have fixed in main branch. just a new release needed
Is it anythong else on your outstanding list which needs to be done before make release new version? 😋
I released a beta already
Updated pytest output for 5.3.3. Now pytest is failing only in two units 😄
t/unit/transport/test_SQS.py::test_Channel::test_get_async
has mising pytest mark to skip if there is no pycurl
nose
which is deprecated
Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-kombu-5.3.3-5.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-kombu-5.3.3-5.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network' -p no:randomly --ignore t/unit/transport/test_azurestoragequeues.py
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/kombu-5.3.3
configfile: setup.cfg
testpaths: t/unit/
plugins: hypothesis-6.84.3, freezegun-0.4.2
collected 1141 items / 11 skipped
t/unit/test_clocks.py ..... [ 0%]
t/unit/test_common.py ............................. [ 2%]
t/unit/test_compat.py ...................... [ 4%]
t/unit/test_compression.py ..s.s..s.s.. [ 5%]
t/unit/test_connection.py ...s..............s........................... [ 9%]
................................................................... [ 15%]
t/unit/test_entity.py .................................................. [ 20%]
........ [ 20%]
t/unit/test_exceptions.py . [ 21%]
t/unit/test_log.py .................... [ 22%]
t/unit/test_matcher.py ... [ 23%]
t/unit/test_message.py .... [ 23%]
t/unit/test_messaging.py ............................................... [ 27%]
................ [ 28%]
t/unit/test_mixins.py .................... [ 30%]
t/unit/test_pidbox.py ........................... [ 33%]
t/unit/test_pools.py ......................... [ 35%]
t/unit/test_serialization.py ............................... [ 37%]
t/unit/test_simple.py ............................ [ 40%]
t/unit/asynchronous/test_hub.py ........................................ [ 43%]
......... [ 44%]
t/unit/asynchronous/test_semaphore.py . [ 44%]
t/unit/asynchronous/test_timer.py ................ [ 46%]
t/unit/asynchronous/http/test_http.py ............s [ 47%]
t/unit/transport/test_SQS.py ...................F..................... [ 50%]
t/unit/transport/test_base.py .............................. [ 53%]
t/unit/transport/test_filesystem.py .... [ 53%]
t/unit/transport/test_memory.py ........ [ 54%]
t/unit/transport/test_pyamqp.py ......................... [ 56%]
t/unit/transport/test_pyro.py Fs.ss [ 57%]
t/unit/transport/test_qpid.py ssssssssssssssssssssssssssssssssssssssssss [ 60%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 67%]
ssssssssssssssssssssssssssssssssssssssssssssssssss [ 71%]
t/unit/transport/test_redis.py ......................................... [ 75%]
........................................................................ [ 81%]
[ 81%]
t/unit/transport/test_sqlalchemy.py ... [ 81%]
t/unit/transport/test_transport.py .... [ 82%]
t/unit/transport/virtual/test_base.py .................................. [ 85%]
............................ [ 87%]
t/unit/transport/virtual/test_exchange.py ......................... [ 89%]
t/unit/utils/test_amq_manager.py ... [ 90%]
t/unit/utils/test_compat.py ...... [ 90%]
t/unit/utils/test_debug.py .. [ 90%]
t/unit/utils/test_div.py .. [ 90%]
t/unit/utils/test_encoding.py ......... [ 91%]
t/unit/utils/test_functional.py .................................. [ 94%]
t/unit/utils/test_imports.py ..... [ 95%]
t/unit/utils/test_json.py ........... [ 96%]
t/unit/utils/test_objects.py ... [ 96%]
t/unit/utils/test_scheduling.py ....... [ 96%]
t/unit/utils/test_time.py ........ [ 97%]
t/unit/utils/test_url.py ................... [ 99%]
t/unit/utils/test_utils.py ...... [ 99%]
t/unit/utils/test_uuid.py .. [100%]
=================================== FAILURES ===================================
_________________________ test_Channel.test_get_async __________________________
hub = <Hub@0x7f0cc1ef5e80: R:0 W:0>, kwargs = {}
def get_client(hub: Hub | None = None, **kwargs: int) -> CurlClient:
"""Get or create HTTP client bound to the current event loop."""
hub = hub or get_event_loop()
try:
> return hub._current_http_client
E AttributeError: 'Hub' object has no attribute '_current_http_client'
kombu/asynchronous/http/__init__.py:25: AttributeError
During handling of the above exception, another exception occurred:
self = <t.unit.transport.test_SQS.test_Channel object at 0x7f0cca84bc10>
@pytest.mark.usefixtures('hub')
def test_get_async(self):
"""Basic coverage of async code typically used via:
basic_consume > _loop1 > _schedule_queue > _get_bulk_async"""
# Prepare
for i in range(3):
message = 'message: %s' % i
self.producer.publish(message)
# SQS.Channel.asynsqs constructs AsyncSQSConnection using self.sqs
# which is already a mock thanks to `setup` above, we just need to
# mock the async-specific methods (as test_AsyncSQSConnection does)
> async_sqs_conn = self.channel.asynsqs(self.queue_name)
t/unit/transport/test_SQS.py:459:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
kombu/transport/SQS.py:795: in asynsqs
c = self._asynsqs = AsyncSQSConnection(
kombu/asynchronous/aws/sqs/connection.py:22: in __init__
super().__init__(
kombu/asynchronous/aws/connection.py:182: in __init__
super().__init__(sqs_connection, http_client,
kombu/asynchronous/aws/connection.py:136: in __init__
self._httpclient = http_client or get_client()
kombu/asynchronous/http/__init__.py:27: in get_client
client = hub._current_http_client = Client(hub, **kwargs)
kombu/asynchronous/http/__init__.py:18: in Client
return CurlClient(hub, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <kombu.asynchronous.http.curl.CurlClient object at 0x7f0cc1ea1430>
hub = <Hub@0x7f0cc1ef5e80: R:0 W:0>, max_clients = 10
def __init__(self, hub: Hub | None = None, max_clients: int = 10):
if pycurl is None:
> raise ImportError('The curl client requires the pycurl library.')
E ImportError: The curl client requires the pycurl library.
kombu/asynchronous/http/curl.py:43: ImportError
____________________ test_PyroTransport.test_driver_version ____________________
self = <t.unit.transport.test_pyro.test_PyroTransport object at 0x7f0cca8fbd30>
def test_driver_version(self):
> assert self.c.transport.driver_version()
t/unit/transport/test_pyro.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <kombu.transport.pyro.Transport object at 0x7f0cc1e09df0>
def driver_version(self):
> return pyro.__version__
E AttributeError: 'NoneType' object has no attribute '__version__'
kombu/transport/pyro.py:147: AttributeError
=============================== warnings summary ===============================
../../../../../usr/lib/python3.8/site-packages/pytest_freezegun.py:17: 2282 warnings
t/unit/utils/test_json.py: 2 warnings
/usr/lib/python3.8/site-packages/pytest_freezegun.py:17: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if LooseVersion(pytest.__version__) < LooseVersion('3.6.0'):
t/unit/test_compat.py::test_Publisher::test_constructor
/usr/lib/python3.8/site-packages/_pytest/fixtures.py:895: PytestRemovedIn8Warning: Support for nose tests is deprecated and will be removed in a future release.
t/unit/test_compat.py::test_Publisher::test_constructor is using nose-specific method: `setup(self)`
To remove this warning, rename it to `setup_method(self)`
See docs: https://docs.pytest.org/en/stable/deprecations.html#support-for-tests-written-for-nose
fixture_result = next(generator)
[. rest of the units in which pytest which complains about use nose .]
t/unit/test_connection.py::test_connection_utils::test_parse_url
t/unit/test_connection.py::test_connection_utils::test_parse_generated_as_uri
t/unit/test_connection.py::test_connection_utils::test_as_uri_when_prefix
t/unit/test_connection.py::test_connection_utils::test_as_uri_when_mongodb
t/unit/test_connection.py::test_connection_utils::test_bogus_scheme
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://user:pass@host:10000/vhost-expected0]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://user%61:%61pass@ho%61st:10000/v%2fhost-expected1]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://-expected2]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://:@/-expected3]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://user@/-expected4]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://user:pass@/-expected5]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://host-expected6]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://:10000-expected7]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp:///vhost-expected8]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://host/-expected9]
t/unit/test_connection.py::test_connection_utils::test_rabbitmq_example_urls[amqp://host/%2f-expected10]
t/unit/test_connection.py::test_connection_utils::test_sqs_example_urls[sqs://user:pass@-expected0]
t/unit/test_connection.py::test_connection_utils::test_sqs_example_urls[sqs://-expected1]
t/unit/test_connection.py::test_connection_utils::test_connection_copy
t/unit/test_connection.py::test_connection_utils::test_parse_generated_as_uri_pg
t/unit/test_connection.py::test_Connection::test_establish_connection
t/unit/test_connection.py::test_Connection::test_reuse_connection
t/unit/test_connection.py::test_Connection::test_connect_no_transport_options
t/unit/test_connection.py::test_Connection::test_connect_transport_options
t/unit/test_connection.py::test_Connection::test_multiple_urls
t/unit/test_connection.py::test_Connection::test_collect
t/unit/test_connection.py::test_Connection::test_prefer_librabbitmq_over_amqp_when_available
t/unit/test_connection.py::test_Connection::test_select_amqp_when_librabbitmq_is_not_available
t/unit/test_connection.py::test_Connection::test_collect_no_transport
t/unit/test_connection.py::test_Connection::test_collect_transport_gone
t/unit/test_connection.py::test_Connection::test_uri_passthrough
t/unit/test_connection.py::test_Connection::test_ensure_connection_on_error
t/unit/test_connection.py::test_Connection::test_supports_heartbeats
t/unit/test_connection.py::test_Connection::test_is_evented
t/unit/test_connection.py::test_Connection::test_register_with_event_loop
t/unit/test_connection.py::test_Connection::test_manager
t/unit/test_connection.py::test_Connection::test_copy
t/unit/test_connection.py::test_Connection::test_copy_multiples
t/unit/test_connection.py::test_Connection::test_switch
t/unit/test_connection.py::test_Connection::test_maybe_switch_next
t/unit/test_connection.py::test_Connection::test_maybe_switch_next_no_cycle
t/unit/test_connection.py::test_Connection::test_switch_without_uri_identifier
t/unit/test_connection.py::test_Connection::test_heartbeat_check
t/unit/test_connection.py::test_Connection::test_completes_cycle_no_cycle
t/unit/test_connection.py::test_Connection::test_completes_cycle
t/unit/test_connection.py::test_Connection::test_get_heartbeat_interval
t/unit/test_connection.py::test_Connection::test_supports_exchange_type
t/unit/test_connection.py::test_Connection::test_qos_semantics_matches_spec
t/unit/test_connection.py::test_Connection::test__enter____exit__
t/unit/test_connection.py::test_Connection::test_close_survives_connerror
t/unit/test_connection.py::test_Connection::test_close_when_default_channel
t/unit/test_connection.py::test_Connection::test_auto_reconnect_default_channel
t/unit/test_connection.py::test_Connection::test_close_when_default_channel_close_raises
t/unit/test_connection.py::test_Connection::test_revive_when_default_channel
t/unit/test_connection.py::test_Connection::test_ensure_connection
t/unit/test_connection.py::test_Connection::test_ensure_success
t/unit/test_connection.py::test_Connection::test_ensure_failure
t/unit/test_connection.py::test_Connection::test_ensure_connection_failure
t/unit/test_connection.py::test_Connection::test_ensure_retry_errors_is_limited_by_max_retries
t/unit/test_connection.py::test_Connection::test_autoretry
t/unit/test_connection.py::test_Connection::test_SimpleQueue
t/unit/test_connection.py::test_Connection::test_SimpleBuffer
t/unit/test_connection.py::test_Connection::test_SimpleQueue_with_parameters
t/unit/test_connection.py::test_Connection::test_SimpleBuffer_with_parameters
t/unit/test_connection.py::test_Connection::test_Producer
t/unit/test_connection.py::test_Connection::test_Consumer
t/unit/test_connection.py::test_Connection::test__repr__
t/unit/test_connection.py::test_Connection::test__reduce__
t/unit/test_connection.py::test_Connection::test_channel_errors
t/unit/test_connection.py::test_Connection::test_channel_errors__exception_no_cache
t/unit/test_connection.py::test_Connection::test_connection_errors
t/unit/test_connection.py::test_Connection::test_connection_errors__exception_no_cache
t/unit/test_connection.py::test_Connection::test_recoverable_connection_errors
t/unit/test_connection.py::test_Connection::test_recoverable_connection_errors__fallback
t/unit/test_connection.py::test_Connection::test_recoverable_connection_errors__exception_no_cache
t/unit/test_connection.py::test_Connection::test_recoverable_channel_errors
t/unit/test_connection.py::test_Connection::test_recoverable_channel_errors__fallback
t/unit/test_connection.py::test_Connection::test_recoverable_channel_errors__exception_no_cache
t/unit/test_connection.py::test_Connection::test_multiple_urls_hostname
t/unit/test_connection.py::test_Connection::test_connection_respect_its_timeout
t/unit/test_connection.py::test_Connection::test_connection_failover_without_total_timeout
t/unit/test_connection.py::test_Connection::test_connection_failover_with_total_timeout
t/unit/test_connection.py::test_Connection_with_transport_options::test_establish_connection
[/..]
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [4] t/unit/asynchronous/aws/case.py:8: could not import 'pycurl': No module named 'pycurl'
SKIPPED [1] t/unit/asynchronous/http/test_curl.py:11: could not import 'pycurl': No module named 'pycurl'
SKIPPED [1] t/unit/transport/test_azureservicebus.py:14: could not import 'azure.servicebus': No module named 'azure'
SKIPPED [1] t/unit/transport/test_consul.py:11: could not import 'consul': No module named 'consul'
SKIPPED [1] t/unit/transport/test_etcd.py:10: could not import 'etcd': No module named 'etcd'
SKIPPED [1] t/unit/transport/test_librabbitmq.py:7: could not import 'librabbitmq': No module named 'librabbitmq'
SKIPPED [1] t/unit/transport/test_mongodb.py:11: could not import 'pymongo': No module named 'pymongo'
SKIPPED [1] t/unit/transport/test_zookeeper.py:8: could not import 'kazoo': No module named 'kazoo'
SKIPPED [1] t/unit/test_compression.py:20: could not import 'brotli': No module named 'brotli'
SKIPPED [1] t/unit/test_compression.py:30: could not import 'zstandard': No module named 'zstandard'
SKIPPED [1] t/unit/test_compression.py:49: could not import 'brotli': No module named 'brotli'
SKIPPED [1] t/unit/test_compression.py:67: could not import 'zstandard': No module named 'zstandard'
SKIPPED [1] t/unit/test_connection.py:52: could not import 'pymongo': No module named 'pymongo'
SKIPPED [1] t/unit/test_connection.py:117: TODO: urllib cannot parse ipv6 urls
SKIPPED [1] t/unit/asynchronous/http/test_http.py:150: could not import 'pycurl': No module named 'pycurl'
SKIPPED [1] t/unit/transport/test_pyro.py:30: requires running Pyro nameserver and Kombu Broker
SKIPPED [1] t/unit/transport/test_pyro.py:67: requires running Pyro nameserver and Kombu Broker
SKIPPED [1] t/unit/transport/test_pyro.py:89: requires running Pyro nameserver and Kombu Broker
SKIPPED [164] t/unit/transport/test_qpid.py: Not supported in Python3
FAILED t/unit/transport/test_SQS.py::test_Channel::test_get_async - ImportErr...
FAILED t/unit/transport/test_pyro.py::test_PyroTransport::test_driver_version
========== 2 failed, 965 passed, 185 skipped, 3051 warnings in 26.77s ==========
you can fix "ImportError: The curl client requires the pycurl library." with just installing pycurl
you can fix "ImportError: The curl client requires the pycurl library." with just installing pycurl
Yes I know. I'm only pointing that there some other units which are skipped if this module is not installed
SKIPPED [4] t/unit/asynchronous/aws/case.py:8: could not import 'pycurl': No module named 'pycurl'
SKIPPED [1] t/unit/asynchronous/http/test_curl.py:11: could not import 'pycurl': No module named 'pycurl'
that's totally fine. your reports are helping is fixing those slowly but eventually!! so thanks for your reports and findings for last years!