#24500: Django runtests - 3 tests fail on windows due to encoding troubles
-------------------------------------+-------------------------------------
     Reporter:  pakal                |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:                       |                  Version:  1.7
  Internationalization               |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by pakal):

 * needs_better_patch:   => 0
 * needs_tests:   => 0
 * needs_docs:   => 0


Old description:

> On a my python2.7.3 install (32 bits), a today's checkout of django's
> master doesn't pass all tests - three i18n tests fails due to
> UnicodeDecodeError.
>
> I'm aware it might be due to locales
> (https://docs.djangoproject.com/en/dev/internals/contributing/writing-
> code/unit-tests/#many-test-failures-with-unicodeencodeerror), but windows
> doesn't have such packages that I'm aware of.
>
> My win32 "xgettext --version" is  "xgettext (GNU gettext-tools) 0.17"
>
> I've followed the bug down to the xgettext invocation, where it seems the
> test expects utf8 output, whereas my xgettext-win32 version of course
> outputs ANSI (french locale) text.
>
> {{{
> UnicodeDecodeError('utf8', "xgettext (GNU gettext-tools) 0.17\nCopyright
> (C) 1995-1998, 2000-2007 Free Software Foundation, Inc.\nLicence GPLv3+ :
> GNU GPL version 3 ou ult\xe9rieure
> <http://gnu.org/licenses/gpl.html>\nCeci est un logiciel libre : vous
> pouvez le modifier et le redistribuer.\nIl n'y a PAS DE GARANTIE, dans la
> mesure de ce que permet la loi.\n\xc9crit par Ulrich
> Drepper.\n", 141, 142, 'invalid continuation byte')
> }}}
>
> Are these tests supposed to pass on windows as well as on *nix systems ?
> Are there specific requirements regarding xgettext or third-party
> packages ?
>
> {{{
>
> examining files with the extensions: .js
> ignoring file code.sample in .
> ignoring file not_utf8.sample in .
> ignoring file __init__.py in .
> ignoring file ignored.html in .\ignore_dir
> ignoring file media_ignored.html in .\media_root
> ignoring file static_ignored.html in .\static
> ignoring file comments.thtml in .\templates
> ignoring file empty.html in .\templates
> ignoring file plural.djtpl in .\templates
> ignoring file template_with_error.tpl in .\templates
> ignoring file test.html in .\templates
> ignoring file xxx_ignored.html in .\templates
> ignoring file ignored.html in .\templates\subdir
> processing file javascript.js in .
> UnicodeDecodeError: skipped file javascript.js in .
> processing file javascript.js in .\someapp\static
> UnicodeDecodeError: skipped file javascript.js in .\someapp\static
> processing file javascript_ignored.js in .\static
> UnicodeDecodeError: skipped file javascript_ignored.js in .\static
> processing locale de
>

> ======================================================================
> FAIL: test_default_root_settings
> (i18n.test_extraction.JavascriptExtractorTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "P:\Websites\django\django\test\utils.py", line 180, in inner
>     return test_func(*args, **kwargs)
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 454, in
> test_default_root_settings
>     _, po_contents = self._run_makemessages(domain='djangojs')
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
> _run_makemessages
>     self.assertTrue(os.path.exists(self.PO_FILE))
> AssertionError: False is not true
>
> ======================================================================
> FAIL: test_javascript_literals
> (i18n.test_extraction.JavascriptExtractorTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 422, in
> test_javascript_literals
>     _, po_contents = self._run_makemessages(domain='djangojs')
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
> _run_makemessages
>     self.assertTrue(os.path.exists(self.PO_FILE))
> AssertionError: False is not true
>
> ======================================================================
> FAIL: test_media_static_dirs_ignored
> (i18n.test_extraction.JavascriptExtractorTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "P:\Websites\django\django\test\utils.py", line 180, in inner
>     return test_func(*args, **kwargs)
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 445, in
> test_media_static_dirs_ignored
>     _, po_contents = self._run_makemessages(domain='djangojs')
>   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
> _run_makemessages
>     self.assertTrue(os.path.exists(self.PO_FILE))
> AssertionError: False is not true
>
> }}}

New description:

 On a my python2.7.3 install (32 bits), a today's checkout of django's
 master doesn't pass all tests - three i18n tests fails due to
 UnicodeDecodeError (I'm on windows 7 64 bits).

 I'm aware it might be due to locales
 (https://docs.djangoproject.com/en/dev/internals/contributing/writing-code
 /unit-tests/#many-test-failures-with-unicodeencodeerror), but windows
 doesn't have such packages that I'm aware of.

 My win32 "xgettext --version" is  "xgettext (GNU gettext-tools) 0.17"

 I've followed the bug down to the xgettext invocation, where it seems the
 test expects utf8 output, whereas my xgettext-win32 version of course
 outputs ANSI (french locale) text.

 {{{
 UnicodeDecodeError('utf8', "xgettext (GNU gettext-tools) 0.17\nCopyright
 (C) 1995-1998, 2000-2007 Free Software Foundation, Inc.\nLicence GPLv3+ :
 GNU GPL version 3 ou ult\xe9rieure
 <http://gnu.org/licenses/gpl.html>\nCeci est un logiciel libre : vous
 pouvez le modifier et le redistribuer.\nIl n'y a PAS DE GARANTIE, dans la
 mesure de ce que permet la loi.\n\xc9crit par Ulrich
 Drepper.\n", 141, 142, 'invalid continuation byte')
 }}}

 Are these tests supposed to pass on windows as well as on *nix systems ?
 Are there specific requirements regarding xgettext or third-party packages
 ?

 {{{

 examining files with the extensions: .js
 ignoring file code.sample in .
 ignoring file not_utf8.sample in .
 ignoring file __init__.py in .
 ignoring file ignored.html in .\ignore_dir
 ignoring file media_ignored.html in .\media_root
 ignoring file static_ignored.html in .\static
 ignoring file comments.thtml in .\templates
 ignoring file empty.html in .\templates
 ignoring file plural.djtpl in .\templates
 ignoring file template_with_error.tpl in .\templates
 ignoring file test.html in .\templates
 ignoring file xxx_ignored.html in .\templates
 ignoring file ignored.html in .\templates\subdir
 processing file javascript.js in .
 UnicodeDecodeError: skipped file javascript.js in .
 processing file javascript.js in .\someapp\static
 UnicodeDecodeError: skipped file javascript.js in .\someapp\static
 processing file javascript_ignored.js in .\static
 UnicodeDecodeError: skipped file javascript_ignored.js in .\static
 processing locale de


 ======================================================================
 FAIL: test_default_root_settings
 (i18n.test_extraction.JavascriptExtractorTests)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "P:\Websites\django\django\test\utils.py", line 180, in inner
     return test_func(*args, **kwargs)
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 454, in
 test_default_root_settings
     _, po_contents = self._run_makemessages(domain='djangojs')
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
 _run_makemessages
     self.assertTrue(os.path.exists(self.PO_FILE))
 AssertionError: False is not true

 ======================================================================
 FAIL: test_javascript_literals
 (i18n.test_extraction.JavascriptExtractorTests)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 422, in
 test_javascript_literals
     _, po_contents = self._run_makemessages(domain='djangojs')
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
 _run_makemessages
     self.assertTrue(os.path.exists(self.PO_FILE))
 AssertionError: False is not true

 ======================================================================
 FAIL: test_media_static_dirs_ignored
 (i18n.test_extraction.JavascriptExtractorTests)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "P:\Websites\django\django\test\utils.py", line 180, in inner
     return test_func(*args, **kwargs)
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 445, in
 test_media_static_dirs_ignored
     _, po_contents = self._run_makemessages(domain='djangojs')
   File "P:\Websites\django\tests\i18n\test_extraction.py", line 67, in
 _run_makemessages
     self.assertTrue(os.path.exists(self.PO_FILE))
 AssertionError: False is not true

 }}}

--

--
Ticket URL: <https://code.djangoproject.com/ticket/24500#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/063.7f799385cb28753455f41de4f37bfb84%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to