commit python-oslo.messaging for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-oslo.messaging for openSUSE:Factory checked in at 2024-06-05 17:41:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslo.messaging (Old) and /work/SRC/openSUSE:Factory/.python-oslo.messaging.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-oslo.messaging" Wed Jun 5 17:41:57 2024 rev:32 rq:1178603 version:14.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslo.messaging/python-oslo.messaging.changes 2024-05-03 19:45:50.819681027 +0200 +++ /work/SRC/openSUSE:Factory/.python-oslo.messaging.new.24587/python-oslo.messaging.changes 2024-06-05 17:42:32.994432595 +0200 @@ -1,0 +2,16 @@ +Tue Jun 4 20:02:49 UTC 2024 - cloud-devel@suse.de + +- update to version 14.8.0 + - reno: Update master for unmaintained/xena + - reno: Update master for unmaintained/zed + - Restore read stream queues from last known offset + - Make oslo.messaging, magnum, and zaqar reproducible. + - reno: Update master for unmaintained/victoria + - Update master for stable/2024.1 + - Use StopWatch timer when waiting for message + - reno: Update master for unmaintained/wallaby + - Remove old excludes + - kafka: Fix invalid hostaddr format for IPv6 address + - Fix incorrect desc of rabbit_stream_fanout option + +------------------------------------------------------------------- Old: ---- oslo.messaging-14.7.0.tar.gz New: ---- oslo.messaging-14.8.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.messaging.spec ++++++ --- /var/tmp/diff_new_pack.2AFpoH/_old 2024-06-05 17:42:33.690457942 +0200 +++ /var/tmp/diff_new_pack.2AFpoH/_new 2024-06-05 17:42:33.694458088 +0200 @@ -17,13 +17,13 @@ Name: python-oslo.messaging -Version: 14.7.0 +Version: 14.8.0 Release: 0 Summary: OpenStack oslo.messaging library License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/oslo.messaging -Source0: https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messagi... +Source0: https://files.pythonhosted.org/packages/source/o/oslo.messaging/oslo.messagi... BuildRequires: openstack-macros BuildRequires: python3-PyYAML >= 3.13 BuildRequires: python3-WebOb >= 1.7.1 @@ -98,7 +98,7 @@ This package contains the documentation. %prep -%autosetup -p1 -n oslo.messaging-14.7.0 +%autosetup -p1 -n oslo.messaging-14.8.0 %py_req_cleanup %build ++++++ oslo.messaging-14.7.0.tar.gz -> oslo.messaging-14.8.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/AUTHORS new/oslo.messaging-14.8.0/AUTHORS --- old/oslo.messaging-14.7.0/AUTHORS 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/AUTHORS 2024-05-23 10:13:05.000000000 +0200 @@ -81,6 +81,7 @@ Gorka Eguileor <geguileo@redhat.com> Gregory Haynes <greg@greghaynes.net> Guillaume Espanel <guillaume.espanel.ext@ovhcloud.com> +Guillaume Espanel <guillaume.espanel@ovhcloud.com> Haifeng.Yan <yanheven@qq.com> Hanxi Liu <hanxi.liu@easystack.cn> Hervé Beraud <hberaud@redhat.com> @@ -219,6 +220,7 @@ dparalen <vetrisko@gmail.com> dukhlov <dukhlov@mirantis.com> ericxiett <eric_xiett@163.com> +frankming <chen27508959@outlook.com> gecong1973 <ge.cong@zte.com.cn> gord chung <gord@live.ca> gordon chung <gord@live.ca> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/ChangeLog new/oslo.messaging-14.8.0/ChangeLog --- old/oslo.messaging-14.7.0/ChangeLog 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/ChangeLog 2024-05-23 10:13:05.000000000 +0200 @@ -1,6 +1,21 @@ CHANGES ======= +14.8.0 +------ + +* reno: Update master for unmaintained/zed +* Remove old excludes +* Make oslo.messaging, magnum, and zaqar reproducible +* Fix incorrect desc of rabbit\_stream\_fanout option +* Update master for stable/2024.1 +* reno: Update master for unmaintained/xena +* reno: Update master for unmaintained/wallaby +* reno: Update master for unmaintained/victoria +* kafka: Fix invalid hostaddr format for IPv6 address +* Use StopWatch timer when waiting for message +* Restore read stream queues from last known offset + 14.7.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/PKG-INFO new/oslo.messaging-14.8.0/PKG-INFO --- old/oslo.messaging-14.7.0/PKG-INFO 2024-02-22 16:37:48.555224400 +0100 +++ new/oslo.messaging-14.8.0/PKG-INFO 2024-05-23 10:13:05.556646300 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: oslo.messaging -Version: 14.7.0 +Version: 14.8.0 Summary: Oslo Messaging API Home-page: https://docs.openstack.org/oslo.messaging/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/doc/requirements.txt new/oslo.messaging-14.8.0/doc/requirements.txt --- old/oslo.messaging-14.7.0/doc/requirements.txt 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/doc/requirements.txt 2024-05-23 10:12:37.000000000 +0200 @@ -1,9 +1,5 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. - openstackdocstheme>=2.2.0 # Apache-2.0 -sphinx>=2.0.0,!=2.1.0 # BSD +sphinx>=2.0.0 # BSD reno>=3.1.0 # Apache-2.0 # imported when the source code is parsed for generating documentation: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo.messaging.egg-info/PKG-INFO new/oslo.messaging-14.8.0/oslo.messaging.egg-info/PKG-INFO --- old/oslo.messaging-14.7.0/oslo.messaging.egg-info/PKG-INFO 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo.messaging.egg-info/PKG-INFO 2024-05-23 10:13:05.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: oslo.messaging -Version: 14.7.0 +Version: 14.8.0 Summary: Oslo Messaging API Home-page: https://docs.openstack.org/oslo.messaging/latest/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo.messaging.egg-info/SOURCES.txt new/oslo.messaging-14.8.0/oslo.messaging.egg-info/SOURCES.txt --- old/oslo.messaging-14.7.0/oslo.messaging.egg-info/SOURCES.txt 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo.messaging.egg-info/SOURCES.txt 2024-05-23 10:13:05.000000000 +0200 @@ -186,6 +186,7 @@ releasenotes/notes/use-extras-for-optional-deps-2a00e8007ef7a629.yaml releasenotes/source/2023.1.rst releasenotes/source/2023.2.rst +releasenotes/source/2024.1.rst releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/newton.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo.messaging.egg-info/pbr.json new/oslo.messaging-14.8.0/oslo.messaging.egg-info/pbr.json --- old/oslo.messaging-14.7.0/oslo.messaging.egg-info/pbr.json 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo.messaging.egg-info/pbr.json 2024-05-23 10:13:05.000000000 +0200 @@ -1 +1 @@ -{"git_version": "ebdc7db1", "is_release": true} \ No newline at end of file +{"git_version": "d0952415", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo.messaging.egg-info/requires.txt new/oslo.messaging-14.8.0/oslo.messaging.egg-info/requires.txt --- old/oslo.messaging-14.7.0/oslo.messaging.egg-info/requires.txt 2024-02-22 16:37:48.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo.messaging.egg-info/requires.txt 2024-05-23 10:13:05.000000000 +0200 @@ -10,10 +10,10 @@ oslo.log>=3.36.0 oslo.metrics>=0.2.1 oslo.middleware>=3.31.0 -oslo.serialization!=2.19.1,>=2.18.0 -oslo.service!=1.28.1,>=1.24.0 +oslo.serialization>=2.18.0 +oslo.service>=1.24.0 oslo.utils>=3.37.0 -pbr!=2.1.0,>=2.0.0 +pbr>=2.0.0 stevedore>=1.20.0 [amqp1] @@ -25,7 +25,7 @@ [test] bandit<1.8.0,>=1.7.0 confluent-kafka>=1.3.0 -coverage!=4.4,>=4.0 +coverage>=4.0 eventlet>=0.23.0 fixtures>=3.0.0 greenlet>=0.4.15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo_messaging/_drivers/amqpdriver.py new/oslo.messaging-14.8.0/oslo_messaging/_drivers/amqpdriver.py --- old/oslo.messaging-14.7.0/oslo_messaging/_drivers/amqpdriver.py 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo_messaging/_drivers/amqpdriver.py 2024-05-23 10:12:37.000000000 +0200 @@ -496,12 +496,18 @@ self._wrn_threshold = 10 def get(self, msg_id, timeout): - try: - return self._queues[msg_id].get(block=True, timeout=timeout) - except queue.Empty: - raise oslo_messaging.MessagingTimeout( - 'Timed out waiting for a reply ' - 'to message ID %s' % msg_id) + watch = timeutils.StopWatch(duration=timeout) + watch.start() + while not watch.expired(): + try: + # NOTE(amorin) we can't use block=True + # See lp-2035113 + return self._queues[msg_id].get(block=False) + except queue.Empty: + time.sleep(0.5) + raise oslo_messaging.MessagingTimeout( + 'Timed out waiting for a reply ' + 'to message ID %s' % msg_id) def put(self, msg_id, message_data): LOG.info('Received RPC response for msg %s', msg_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo_messaging/_drivers/impl_kafka.py new/oslo.messaging-14.8.0/oslo_messaging/_drivers/impl_kafka.py --- old/oslo.messaging-14.7.0/oslo_messaging/_drivers/impl_kafka.py 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo_messaging/_drivers/impl_kafka.py 2024-05-23 10:12:37.000000000 +0200 @@ -125,7 +125,12 @@ LOG.warning("Different transport usernames detected") if host.hostname: - self.hostaddrs.append("%s:%s" % (host.hostname, host.port)) + if ':' in host.hostname: + hostaddr = "[%s]:%s" % (host.hostname, host.port) + else: + hostaddr = "%s:%s" % (host.hostname, host.port) + + self.hostaddrs.append(hostaddr) def reset(self): """Reset a connection so it can be used again.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo_messaging/_drivers/impl_rabbit.py new/oslo.messaging-14.8.0/oslo_messaging/_drivers/impl_rabbit.py --- old/oslo.messaging-14.7.0/oslo_messaging/_drivers/impl_rabbit.py 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo_messaging/_drivers/impl_rabbit.py 2024-05-23 10:12:37.000000000 +0200 @@ -246,19 +246,21 @@ default=False, help='Should we use consistant queue names or random ones'), cfg.StrOpt('hostname', + sample_default='node1.example.com', default=socket.gethostname(), - help='Hostname used by queue manager'), + help='Hostname used by queue manager. Defaults to the value ' + 'returned by socket.gethostname().'), cfg.StrOpt('processname', default=os.path.basename(sys.argv[0]), help='Process name used by queue manager'), cfg.BoolOpt('rabbit_stream_fanout', default=False, help='Use stream queues in RabbitMQ (x-queue-type: stream). ' - 'The stream queue is a modern queue type for RabbitMQ ' - 'implementing a durable, replicated FIFO queue based on the ' - 'Raft consensus algorithm. It is available as of ' - 'RabbitMQ 3.8.0. If set this option will replace all fanout ' - 'queues with only one stream queue.'), + 'Streams are a new persistent and replicated data structure ' + '("queue type") in RabbitMQ which models an append-only log ' + 'with non-destructive consumer semantics. It is available ' + 'as of RabbitMQ 3.9.0. If set this option will replace all ' + 'fanout queues with only one stream queue.'), ] LOG = logging.getLogger(__name__) @@ -397,6 +399,8 @@ durable=self.durable, auto_delete=self.exchange_auto_delete) self.enable_cancel_on_failover = enable_cancel_on_failover + self.rabbit_stream_fanout = rabbit_stream_fanout + self.next_stream_offset = "last" def _declare_fallback(self, err, conn, consumer_arguments): """Fallback by declaring a non durable queue. @@ -431,6 +435,13 @@ ) self.queue.declare() + def reset_stream_offset(self): + if not self.rabbit_stream_fanout: + return + LOG.warn("Reset consumer for queue %s next offset was at %s.", + self.queue_name, self.next_stream_offset) + self.next_stream_offset = "last" + def declare(self, conn): """Re-declare the queue after a rabbit (re)connect.""" @@ -439,6 +450,10 @@ consumer_arguments = { "x-cancel-on-ha-failover": True} + if self.rabbit_stream_fanout: + consumer_arguments = { + "x-stream-offset": self.next_stream_offset} + self.queue = kombu.entity.Queue( name=self.queue_name, channel=conn.channel, @@ -451,8 +466,13 @@ ) try: - LOG.debug('[%s] Queue.declare: %s', - conn.connection_id, self.queue_name) + if self.rabbit_stream_fanout: + LOG.info('[%s] Stream Queue.declare: %s after offset %s', + conn.connection_id, self.queue_name, + self.next_stream_offset) + else: + LOG.debug('[%s] Queue.declare: %s', + conn.connection_id, self.queue_name) try: self.queue.declare() except amqp_ex.PreconditionFailed as err: @@ -572,6 +592,12 @@ Messages that are processed and ack'ed. """ + offset = message.headers.get("x-stream-offset") + if offset is not None: + LOG.debug("Stream for %s current offset: %s", self.queue_name, + offset) + self.next_stream_offset = offset + 1 + m2p = getattr(self.queue.channel, 'message_to_python', None) if m2p: message = m2p(message) @@ -1039,11 +1065,24 @@ info = {'err_str': exc, 'sleep_time': interval} info.update(self._get_connection_info(conn_error=True)) + if 'Basic.cancel' in str(exc): + # This branch allows for consumer offset reset + # in the unlikely case consumers are cancelled. This may + # happen, for example, when we delete the stream queue. + # We need to start consuming from "last" because the stream + # offset maybe reset. + LOG.warn('[%s] Basic.cancel received. ' + 'Resetting consumers offsets to last.', + self.connection_id) + for consumer in self._consumers: + consumer.reset_stream_offset() + if 'Socket closed' in str(exc): LOG.error('[%(connection_id)s] AMQP server' ' %(hostname)s:%(port)s closed' ' the connection. Check login credentials:' ' %(err_str)s', info) + else: LOG.error('[%(connection_id)s] AMQP server on ' '%(hostname)s:%(port)s is unreachable: ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/oslo_messaging/tests/drivers/test_impl_kafka.py new/oslo.messaging-14.8.0/oslo_messaging/tests/drivers/test_impl_kafka.py --- old/oslo.messaging-14.7.0/oslo_messaging/tests/drivers/test_impl_kafka.py 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/oslo_messaging/tests/drivers/test_impl_kafka.py 2024-05-23 10:12:37.000000000 +0200 @@ -66,6 +66,16 @@ username='stack', password='stacksecret', vhost='my_host'))), + ('ipv4', dict(url='kafka://127.0.0.1:1234', + expected=dict(hostaddrs=['127.0.0.1:1234'], + username=None, + password=None, + vhost=None))), + ('ipv6', dict(url='kafka://[::1]:1234', + expected=dict(hostaddrs=['[::1]:1234'], + username=None, + password=None, + vhost=None))), ] def setUp(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/2024.1.rst new/oslo.messaging-14.8.0/releasenotes/source/2024.1.rst --- old/oslo.messaging-14.7.0/releasenotes/source/2024.1.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/2024.1.rst 2024-05-23 10:12:37.000000000 +0200 @@ -0,0 +1,6 @@ +=========================== +2024.1 Series Release Notes +=========================== + +.. release-notes:: + :branch: stable/2024.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/index.rst new/oslo.messaging-14.8.0/releasenotes/source/index.rst --- old/oslo.messaging-14.7.0/releasenotes/source/index.rst 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/index.rst 2024-05-23 10:12:37.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + 2024.1 2023.2 2023.1 zed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/victoria.rst new/oslo.messaging-14.8.0/releasenotes/source/victoria.rst --- old/oslo.messaging-14.7.0/releasenotes/source/victoria.rst 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/victoria.rst 2024-05-23 10:12:37.000000000 +0200 @@ -3,4 +3,4 @@ ============================= .. release-notes:: - :branch: stable/victoria + :branch: unmaintained/victoria diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/wallaby.rst new/oslo.messaging-14.8.0/releasenotes/source/wallaby.rst --- old/oslo.messaging-14.7.0/releasenotes/source/wallaby.rst 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/wallaby.rst 2024-05-23 10:12:37.000000000 +0200 @@ -3,4 +3,4 @@ ============================ .. release-notes:: - :branch: stable/wallaby + :branch: unmaintained/wallaby diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/xena.rst new/oslo.messaging-14.8.0/releasenotes/source/xena.rst --- old/oslo.messaging-14.7.0/releasenotes/source/xena.rst 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/xena.rst 2024-05-23 10:12:37.000000000 +0200 @@ -3,4 +3,4 @@ ========================= .. release-notes:: - :branch: stable/xena + :branch: unmaintained/xena diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/releasenotes/source/zed.rst new/oslo.messaging-14.8.0/releasenotes/source/zed.rst --- old/oslo.messaging-14.7.0/releasenotes/source/zed.rst 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/releasenotes/source/zed.rst 2024-05-23 10:12:37.000000000 +0200 @@ -3,4 +3,4 @@ ======================== .. release-notes:: - :branch: stable/zed + :branch: unmaintained/zed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/requirements.txt new/oslo.messaging-14.8.0/requirements.txt --- old/oslo.messaging-14.7.0/requirements.txt 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/requirements.txt 2024-05-23 10:12:37.000000000 +0200 @@ -1,12 +1,12 @@ -pbr!=2.1.0,>=2.0.0 # Apache-2.0 +pbr>=2.0.0 # Apache-2.0 futurist>=1.2.0 # Apache-2.0 oslo.config>=5.2.0 # Apache-2.0 oslo.context>=5.3.0 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 oslo.utils>=3.37.0 # Apache-2.0 -oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 -oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 +oslo.serialization>=2.18.0 # Apache-2.0 +oslo.service>=1.24.0 # Apache-2.0 stevedore>=1.20.0 # Apache-2.0 debtcollector>=1.2.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-14.7.0/test-requirements.txt new/oslo.messaging-14.8.0/test-requirements.txt --- old/oslo.messaging-14.7.0/test-requirements.txt 2024-02-22 16:37:18.000000000 +0100 +++ new/oslo.messaging-14.8.0/test-requirements.txt 2024-05-23 10:12:37.000000000 +0200 @@ -12,10 +12,7 @@ # for test_impl_kafka confluent-kafka>=1.3.0 # Apache-2.0 -# when we can require tox>= 1.4, this can go into tox.ini: -# [testenv:cover] -# deps = {[testenv]deps} coverage -coverage!=4.4,>=4.0 # Apache-2.0 +coverage>=4.0 # Apache-2.0 # AMQP 1.0 support depends on the Qpid Proton AMQP 1.0 # development libraries.
participants (1)
-
Source-Sync