From 1017229c3998a473c32ca73aab86ec8477bcb59b Mon Sep 17 00:00:00 2001 From: Witold Bedyk Date: Thu, 4 Oct 2018 14:04:18 +0200 Subject: [PATCH] Fix coverage job for Python 3 * add coverage check job to Zuul * migrate to stestr as described in PTI [1] * unmock OffsetOutOfRangeError to correctly recognize it as Exception and not a mock. Otherwise TypeError exception is thrown [2]. [1] https://governance.openstack.org/tc/reference/pti/python.html#coverage-jobs [2] http://logs.openstack.org/60/606660/2/check/openstack-tox-cover/b3c1492/testr_results.html.gz Change-Id: Idcb8b11778ce02596c1c02417ee6c88a33c7da03 Story: 2003240 Task: 26900 --- .zuul.yaml | 1 + monasca_common/tests/test_kafka.py | 2 ++ tox.ini | 11 +++++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 4f093208..3a9a4326 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,5 +1,6 @@ - project: templates: + - openstack-cover-jobs - openstack-python-jobs - openstack-python35-jobs - openstack-python36-jobs diff --git a/monasca_common/tests/test_kafka.py b/monasca_common/tests/test_kafka.py index 8589c523..925a0db7 100644 --- a/monasca_common/tests/test_kafka.py +++ b/monasca_common/tests/test_kafka.py @@ -16,6 +16,7 @@ from oslotest import base from monasca_common.kafka import consumer from monasca_common.kafka import producer +from monasca_common.kafka_lib import common as kafka_common FAKE_KAFKA_URL = "kafka_url" @@ -104,6 +105,7 @@ class TestKafkaConsumer(base.BaseTestCase): self.mock_kafka_client = self.kafka_client_patcher.start() self.mock_kafka_common = self.kafka_common_patcher.start() + self.mock_kafka_common.OffsetOutOfRangeError = kafka_common.OffsetOutOfRangeError self.mock_kafka_consumer = self.kafka_consumer_patcher.start() self.kazoo_patcher.start() diff --git a/tox.ini b/tox.ini index 4d98f88b..ea292aeb 100644 --- a/tox.ini +++ b/tox.ini @@ -41,11 +41,14 @@ commands = [testenv:cover] basepython = python2.7 +setenv = + PYTHON=coverage run --source monasca_common --parallel-mode commands = - {[testenv]commands} - coverage erase - python setup.py test --coverage --testr-args='{posargs}' --coverage-package-name=monasca_common - coverage report + coverage erase + stestr run '{posargs}' + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml [testenv:debug] basepython = python3