New submission from Johannes Ammon <johannes.am...@gmail.com>: When there is a non-ASCII character in the docstring of a test function, unittest triggers an UnicodeEncodeError when called with "--verbose".
I have this file unicodetest.py: ----------------------------------------- # -*- coding: utf-8 -*- import unittest class UnicodeTest(unittest.TestCase): def test_unicode_docstring(self): u"""täst - docstring with unicode character""" self.assertEqual(1+1, 2) if __name__ == '__main__': unittest.main() ----------------------------------------- Running it normally is ok: $ python unicodetest.py . ---------------------------------------------------------------------- Ran 1 test in 0.000s OK But with "--verbose" it breaks: $ python unicodetest.py --verbose Traceback (most recent call last): File "unicodetest.py", line 10, in <module> unittest.main() File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 817, in __init__ self.runTests() File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 861, in runTests result = testRunner.run(self.test) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 753, in run test(result) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 464, in __call__ return self.run(*args, **kwds) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 460, in run test(result) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 464, in __call__ return self.run(*args, **kwds) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 460, in run test(result) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 300, in __call__ return self.run(*args, **kwds) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 266, in run result.startTest(self) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 693, in startTest self.stream.write(self.getDescription(test)) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 1: ordinal not in range(128) Found with Python 2.6 on MacOS X 10.6.4 ---------- components: Tests, Unicode messages: 121193 nosy: jammon priority: normal severity: normal status: open title: unittest triggers UnicodeEncodeError with non-ASCII character in the docstring of the test function type: behavior versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10417> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com