On Feb 22, 2016 6:15 PM, "Nick Coghlan" <ncogh...@gmail.com> wrote:
>
> On 22 February 2016 at 18:25, Robert Kuska <rku...@redhat.com> wrote:
>>
>>
>>
>> ----- Original Message -----
>> > From: "Martin Bukatovic" <martin.bukato...@gmail.com>
>> > To: python-devel@lists.fedoraproject.org
>> > Sent: Monday, February 22, 2016 12:04:56 AM
>> > Subject: my project's python3 unit tests passes, but fails during
rpmbuild
>> >
>> > Dear python-devel,
>> >
>> > I'm playing with packaging of my little project[1] and I'm a bit
>> > puzzled about the following issue.
>> >
>> > When I go into git repo of my project and run unittests directly:
>> >
>> > ~~~
>> > cd ~/projects/pylatest
>> > python2 setup.py test
>> > python3 setup.py test
>> > ~~~
>> >
>> > Or via tox (which is configured to run both python2.7 and python3.4),
it all
>> > works fine and both python2 and python3 test runs reports success.
>> >
>> > I have the following section in my specfile[3], which executes the
tests
>> > during the build (this is suggested by Packaging:Python guidelines):
>> >
>> > ~~~
>> > %check
>> > %{__python2} setup.py test
>> > %{__python3} setup.py test
>> > ~~~
>> >
>> > But when the tests are executed via rpmbuild, python2 test run reports
a
>> > pass, while python3 run fails[2]. This happens both on my local
machine and
>> > in copr.
>>
>> Hi Martin,
>>
>> can you try to run your tests with following variables defined
LANG=en_GB.utf8
>> LC_ALL=en_GB.utf8?
>>
>> Python3 uses locale.getpreferredencoding when no encoding is specified
when opening
>> a file which may be an ascii on some systems.
>
>
> Fedora 24 will be shipping with a C.UTF-8 locale:
https://bugzilla.redhat.com/show_bug.cgi?id=902094
>
> Perhaps we should file an RFE with rpm and/or mock to run scriptlets
under the C.UTF-8 locale rather than the C locale?
>
Yes, that would be a great idea.  But Martin, Since it sounds like you're
upstream for this package you should also fix the code to run in C (non
utf8) locale.  C.utf8 isn't available every where so relying on it is non
portable.  And often times if something fails in C locale it means that
there's problems encoding and decoding strings that are hidden when you use
a utf8 locale but are present in other circumstances.

-Toshio
_______________________________________________
python-devel mailing list
python-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/python-devel@lists.fedoraproject.org

Reply via email to