summaryrefslogtreecommitdiffstats
path: root/tests/unit/test_log.py
diff options
context:
space:
mode:
authorMate Lakat <mate.lakat@citrix.com>2012-07-31 17:53:57 +0100
committerMate Lakat <mate.lakat@citrix.com>2012-08-01 11:27:46 +0100
commit58404a1a9461900367dbb7a8b3f2f98441e12959 (patch)
tree55a631848ed6bb142a25b91c6dbce3be719030ce /tests/unit/test_log.py
parent7b5412ffc874c6ff89f61b286a69c88080b65f42 (diff)
downloadoslo-58404a1a9461900367dbb7a8b3f2f98441e12959.tar.gz
oslo-58404a1a9461900367dbb7a8b3f2f98441e12959.tar.xz
oslo-58404a1a9461900367dbb7a8b3f2f98441e12959.zip
Install a qualified except hook.
Fixes bug 1031351. As an Exception is raised, it was not visible in the log, because it wasn't qualified. The fix sets up the exception hook to be qualified as the product_name. Change-Id: Ie8061d003b05ea8b00db5d8ed8fa445ccc822942
Diffstat (limited to 'tests/unit/test_log.py')
-rw-r--r--tests/unit/test_log.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py
index c4ce75b..35ff72d 100644
--- a/tests/unit/test_log.py
+++ b/tests/unit/test_log.py
@@ -1,7 +1,9 @@
import cStringIO
import exceptions
import logging
+import subprocess
import sys
+import textwrap
from openstack.common import context
from openstack.common import cfg
@@ -219,6 +221,31 @@ class LegacyFormatterTestCase(test_utils.BaseTestCase):
self.assertEqual("NOCTXT: baz --DBG\n", self.stream.getvalue())
+class ExceptionLoggingTestCase(test_utils.BaseTestCase):
+ """Test that Exceptions are logged"""
+
+ def test_excepthook_logs_exception(self):
+ code = textwrap.dedent("""
+ import sys
+ from openstack.common import log as logging
+
+ logging.setup('somename')
+ raise Exception('Some error happened')
+ """)
+
+ child = subprocess.Popen([
+ sys.executable, "-"],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+
+ (out, err) = child.communicate(input=code)
+
+ self.assertTrue(
+ "CRITICAL somename [-] Some error happened",
+ msg="Exception is not logged")
+
+
class FancyRecordTestCase(test_utils.BaseTestCase):
"""Test how we handle fancy record keys that are not in the
base python logging"""