Message121193
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 |
|
Date |
User |
Action |
Args |
2010-11-14 13:04:51 | jammon | set | recipients:
+ jammon |
2010-11-14 13:04:51 | jammon | set | messageid: <1289739891.46.0.690681439003.issue10417@psf.upfronthosting.co.za> |
2010-11-14 13:04:50 | jammon | link | issue10417 messages |
2010-11-14 13:04:50 | jammon | create | |
|