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