New submission from Johannes Ammon :
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
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
<http://bugs.python.org/issue10417>
___
___
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com