From 8c407df1a303bddb01db88d6f13670c2cab92af6 Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Thu, 2 Aug 2018 19:12:32 +0200 Subject: [PATCH] Enable debug logging in tests Since log messages interpolation is frequently postponed till the logging time, occasional bugs in message templates may go unnoticed. This patch attempts to enable full logging in unit tests. Unfortunately, exceptions caused by interpolation failures get inhibited by the logging module code so they do not actually fail tests. But at least those exceptions are noticeable on stdout. Change-Id: I1b32476c5bb631cef9b1269effd05a88a9fafd2d --- virtualbmc/tests/unit/base.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/virtualbmc/tests/unit/base.py b/virtualbmc/tests/unit/base.py index 1f435bd..003e0b9 100644 --- a/virtualbmc/tests/unit/base.py +++ b/virtualbmc/tests/unit/base.py @@ -14,9 +14,18 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +import logging + from oslotest import base +from virtualbmc import log as vbmc_log + class TestCase(base.BaseTestCase): - """Test case base class for all unit tests.""" + def setUp(self): + super(TestCase, self).setUp() + self._level = vbmc_log.get_logger().getEffectiveLevel() + vbmc_log.get_logger().setLevel(logging.DEBUG) + self.addCleanup(lambda level: vbmc_log.get_logger().setLevel(level), + self._level)