[New-bugs-announce] [issue10417] unittest triggers UnicodeEncodeError with non-ASCII character in the docstring of the test function
Johannes Ammon
report at bugs.python.org
Sun Nov 14 14:04:51 CET 2010
New submission from Johannes Ammon <johannes.ammon at 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 <report at bugs.python.org>
<http://bugs.python.org/issue10417>
_______________________________________
More information about the New-bugs-announce
mailing list