diff --git a/tests/test_notifier_logger.py b/tests/test_notifier_logger.py index 67c7983ca..d6af9c305 100644 --- a/tests/test_notifier_logger.py +++ b/tests/test_notifier_logger.py @@ -15,6 +15,11 @@ import logging import logging.config import os +import sys +try: + import threading +except ImportError: + threading = None import mock import testscenarios @@ -33,6 +38,13 @@ logging.AUDIT = logging.INFO + 1 logging.addLevelName(logging.AUDIT, 'AUDIT') +def get_thread_ident(): + if threading is not None: + return threading.current_thread().ident + else: + return None + + class TestLogNotifier(test_utils.BaseTestCase): scenarios = [ @@ -81,7 +93,7 @@ class TestLogNotifier(test_utils.BaseTestCase): {'process': os.getpid(), 'funcName': None, 'name': 'foo', - 'thread': logging.thread.get_ident() if logging.thread else None, + 'thread': get_thread_ident(), 'levelno': levelno, 'processName': 'MainProcess', 'pathname': '/foo/bar', @@ -118,6 +130,7 @@ class TestLogNotifier(test_utils.BaseTestCase): levelno = getattr(logging, self.priority.upper()) logger = logging.getLogger('default') + lineno = sys._getframe().f_lineno + 1 logger.log(levelno, 'foobar') n = messaging.notify._impl_test.NOTIFICATIONS[0][1] @@ -126,16 +139,19 @@ class TestLogNotifier(test_utils.BaseTestCase): self.assertEqual(n['event_type'], 'logrecord') self.assertEqual(n['timestamp'], str(timeutils.utcnow.override_time)) self.assertEqual(n['publisher_id'], None) + pathname = __file__ + if pathname.endswith(('.pyc', '.pyo')): + pathname = pathname[:-1] self.assertDictEqual( n['payload'], {'process': os.getpid(), 'funcName': 'test_logging_conf', 'name': 'default', - 'thread': logging.thread.get_ident() if logging.thread else None, + 'thread': get_thread_ident(), 'levelno': levelno, 'processName': 'MainProcess', - 'pathname': __file__[:-1], # Remove the 'c' of .pyc - 'lineno': 121, + 'pathname': pathname, + 'lineno': lineno, 'msg': 'foobar', 'exc_info': None, 'levelname': logging.getLevelName(levelno),