diff options
author | Mate Lakat <mate.lakat@citrix.com> | 2012-07-31 17:53:57 +0100 |
---|---|---|
committer | Mate Lakat <mate.lakat@citrix.com> | 2012-08-01 11:27:46 +0100 |
commit | 58404a1a9461900367dbb7a8b3f2f98441e12959 (patch) | |
tree | 55a631848ed6bb142a25b91c6dbce3be719030ce /tests | |
parent | 7b5412ffc874c6ff89f61b286a69c88080b65f42 (diff) | |
download | oslo-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')
-rw-r--r-- | tests/unit/test_log.py | 27 |
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""" |