On Feb 22, 2016 6:15 PM, "Nick Coghlan" <ncoghlan(a)gmail.com> wrote:
On 22 February 2016 at 18:25, Robert Kuska <rkuska(a)redhat.com> wrote:
>
----- Original Message -----
> > From: "Martin Bukatovic" <martin.bukatovic(a)gmail.com
> > To: python-devel(a)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