From 53f6c7c18c50ad377b897564d8aa2fe1784f8a30 Mon Sep 17 00:00:00 2001 From: Yosuke Mizutani Date: Sun, 25 Oct 2015 20:49:34 +0900 Subject: [PATCH] refactor TestCase.assertRaisesRegexp --- src/mog_commons/__init__.py | 2 +- src/mog_commons/unittest.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mog_commons/__init__.py b/src/mog_commons/__init__.py index 124e462..c3bb296 100644 --- a/src/mog_commons/__init__.py +++ b/src/mog_commons/__init__.py @@ -1 +1 @@ -__version__ = '0.1.7' +__version__ = '0.1.8' diff --git a/src/mog_commons/unittest.py b/src/mog_commons/unittest.py index 0f1f9e3..3cd0ac8 100644 --- a/src/mog_commons/unittest.py +++ b/src/mog_commons/unittest.py @@ -50,8 +50,11 @@ def assertRaisesRegexp(self, expected_exception, expected_regexp, callable_obj=N with self.assertRaises(expected_exception) as cm: callable_obj(*args, **kwargs) if six.PY2: - # to avoid UnicodeEncodeError, use exception.message in Python2 - msg = cm.exception.message or to_str(cm.exception, encoding) + try: + msg = to_str(cm.exception, encoding) + except UnicodeEncodeError: + # avoid to use cm.exception.message + msg = cm.exception.args[0] self.assertRegexpMatches(msg, expected_regexp) else: self.assertRegex(to_str(cm.exception, encoding), expected_regexp)