UnicodeDecodeError in test
Parth Malwankar
parth.malwankar at gmail.com
Fri Apr 23 15:10:00 BST 2010
Hello,
I am trying to create a test case for supporting Unicode
aliases. The tests case seems to be passing OK but it
throws a "bzr: ERROR: exceptions.UnicodeDecodeError" based
on the UnicodeDecodeError thrown by testtools.content.
Log below.
Am I missing something?
Thanks,
Parth
def test_unicode_alias(self):
"""Unicode aliases should work (Bug #529930)"""
conf_enc = 'utf-8' # bazaar.conf is utf-8
dir_name = u'\N{euro sign}'
file_name = u'\N{euro sign}'
file_path = os.path.join(dir_name, file_name)
self.run_bzr(['init'])
self.run_bzr(['mkdir', dir_name])
open(file_path,'w').write('hello world!\n')
self.run_bzr(['add', dir_name])
self.run_bzr(['ci', '-m', 'added'])
ensure_config_dir_exists()
CONFIG=(u'[ALIASES]\n'
u'uls=ls \N{euro sign}\n')
codecs.open(config_filename(),'wb', conf_enc).write(CONFIG)
out, err = self.run_bzr('uls')
self.assertEquals(err, '')
self.assertEquals(out.rstrip(), file_path.encode(conf_enc))
C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrlib>pytho
n ../bzr -Derror --no-plugins selftest -s bb.test_alias.TestAlias.test_unicode_a
lias
bzr selftest: C:/Documents and Settings/user0/work/bzr.dev/529930-unicode-aliase
s/bzr
C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrlib
bzr-2.2.0dev1 python-2.6.4 Windows-XP-5.1.2600-SP3
----------------------------------------------------------------------
Ran 1 test in 3.505s
OK
bzr: ERROR: exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2
in position 506: ordinal not in range(128)
Traceback (most recent call last):
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\commands.py", line 907, in exception_to_return_code
return the_callable(*args, **kwargs)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\commands.py", line 1116, in run_bzr
ret = run(*run_argv)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\commands.py", line 685, in run_argv_aliases
return self.run(**all_cmd_args)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\commands.py", line 700, in run
return self._operation.run_simple(*args, **kwargs)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\cleanup.py", line 122, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\cleanup.py", line 156, in _do_with_cleanups
result = func(*args, **kwargs)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\builtins.py", line 3637, in run
result = selftest(**selftest_kwargs)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\__init__.py", line 3453, in selftest
result_decorators=result_decorators,
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\__init__.py", line 2987, in run_suite
result = runner.run(suite)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\__init__.py", line 649, in run
test.run(result)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\__init__.py", line 3098, in run
return super(CountingDecorator, self).run(result)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\__init__.py", line 3087, in run
test.run(result)
File "C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrl
ib\tests\TestUtil.py", line 84, in run
tests.pop().run(result)
File "c:\python26\lib\site-packages\testtools\testcase.py", line 331, in run
return self.__RunTest(self, self.exception_handlers).run(result)
File "c:\python26\lib\site-packages\testtools\runtest.py", line 63, in run
return self._run_one(actual_result)
File "c:\python26\lib\site-packages\testtools\runtest.py", line 77, in _run_on
e
return self._run_prepared_result(ExtendedToOriginalDecorator(result))
File "c:\python26\lib\site-packages\testtools\runtest.py", line 88, in _run_pr
epared_result
self._run_core()
File "c:\python26\lib\site-packages\testtools\runtest.py", line 105, in _run_c
ore
self.case._run_test_method, self.result):
File "c:\python26\lib\site-packages\testtools\runtest.py", line 139, in _run_u
ser
handler(self.case, self.result, e)
File "c:\python26\lib\site-packages\testtools\testcase.py", line 311, in _repo
rt_failure
result.addFailure(self, details=self.getDetails())
File "c:\python26\lib\site-packages\testtools\testresult\real.py", line 403, i
n addFailure
err = self._details_to_exc_info(details)
File "c:\python26\lib\site-packages\testtools\testresult\real.py", line 451, i
n _details_to_exc_info
_StringException(_details_to_str(details)), None)
File "c:\python26\lib\site-packages\testtools\testresult\real.py", line 534, i
n _details_to_str
chars.extend(content.iter_text())
File "c:\python26\lib\site-packages\testtools\content.py", line 59, in _iter_t
ext
for bytes in self.iter_bytes():
File "c:\python26\lib\site-packages\testtools\content.py", line 38, in iter_by
tes
return self._get_bytes()
File "c:\python26\lib\site-packages\testtools\content.py", line 91, in <lambda
>
lambda:[value.encode("utf8")])
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 506: ordina
l not in range(128)
bzr: warning: some compiled extensions could not be loaded; see <https://answers
.launchpad.net/bzr/+faq/703>
C:\Documents and Settings\user0\work\bzr.dev\529930-unicode-aliases\bzrlib>
More information about the bazaar
mailing list