[Python-modules-team] Bug#861252: pygame: FTBFS on ppc64el: some color-handling tests fail

René Dudfield renesd at gmail.com
Sat Feb 10 11:11:30 UTC 2018


Hello,

I spent quite some hours debugging this on a ppc64le virtual machine.

tldr; it's a rare case in SDL1 on ppc64le, and I've skipped those tests on
this architecture for SDL1. Additionally there is a work around for users
of this architecture (don't do self blits, make a copy first).
https://github.com/pygame/pygame/pull/391/commits/9601fd1a2d1d359b811943d5d123096fabfad1a0

best,


https://github.com/pygame/pygame/issues/370#issuecomment-364625291

It looks like these fail inside SDL_BlitSurface.

Inside surface.c, this part... (line 3084 currently)

            src = SDL_ConvertSurface (src, &newfmt, SDL_SWSURFACE);
            if (src) {
                result = SDL_BlitSurface (src, srcrect, dst, dstrect);
                SDL_FreeSurface (src);
            }
If in the test, I add something like this around test/surface_test.py:2314

    comp.blit(tmp.copy(), (0, 0))
It avoids the self blit error... but is still slightly wrong color value
(off by one in r). And of course, avoiding the self-blit is avoiding the
whole point of the test.

It's sort of a quite rare case, of needing to do a self blit using a
palette. That combined with the very low chance of updates for SDL1 on
ppc64le(upstream moved on years ago), I've skiped these tests on ppc64le
inside pygame on SDL1.



On Wed, 26 Apr 2017 10:49:21 -0400 "Aaron M. Ucko" <ucko at debian.org> wrote:
> Source: pygame
> Version: 1.9.1release+dfsg-10+b2
> Severity: serious
> Justification: fails to build from source (but built successfully in the
past)
>
> The ppc64el build of pygame failed:
>
>   ======================================================================
>   FAIL: test_save_colorkey (pygame.tests.image_test.ImageModuleTest)
>   make sure the color key is not changed when saving.
>   ----------------------------------------------------------------------
>   Traceback (most recent call last):
>     File
"/<<BUILDDIR>>/pygame-1.9.3+dfsg/.pybuild/pythonX.Y_2.7/build/pygame/tests/image_test.py",
line 283, in test_save_colorkey
>       self.assertEqual(p1, s2.get_at((0,0)))
>   AssertionError: (23, 23, 23, 255) != (23, 23, 255, 23)
>
>   ======================================================================
>   FAIL: test_cross (pygame.tests.math_test.Vector2TypeTest)
>   [as per #861249]
>
>   ======================================================================
>   FAIL: test_blanket_alpha (pygame.tests.surface_test.SurfaceSelfBlitTest)
>   ----------------------------------------------------------------------
>   Traceback (most recent call last):
>     File
"/<<BUILDDIR>>/pygame-1.9.3+dfsg/.pybuild/pythonX.Y_2.7/build/pygame/tests/surface_test.py",
line 2331, in test_blanket_alpha
>       self._assert_same(surf, comp)
>     File
"/<<BUILDDIR>>/pygame-1.9.3+dfsg/.pybuild/pythonX.Y_2.7/build/pygame/tests/surface_test.py",
line 2252, in _assert_same
>       a.get_bitsize())))
>   AssertionError: (255, 0, 0, 255) != (0, 255, 170, 255), bpp: 8
>
>   ======================================================================
>   FAIL: test_colorkey (pygame.tests.surface_test.SurfaceSelfBlitTest)
>   ----------------------------------------------------------------------
>   Traceback (most recent call last):
>     File
"/<<BUILDDIR>>/pygame-1.9.3+dfsg/.pybuild/pythonX.Y_2.7/build/pygame/tests/surface_test.py",
line 2311, in test_colorkey
>       self._assert_same(surf, comp)
>     File
"/<<BUILDDIR>>/pygame-1.9.3+dfsg/.pybuild/pythonX.Y_2.7/build/pygame/tests/surface_test.py",
line 2252, in _assert_same
>       a.get_bitsize())))
>   AssertionError: (255, 0, 0, 255) != (0, 255, 0, 255), bpp: 8
>
> Could you please take a look?
>
> Thanks!
>
> -- System Information:
> Debian Release: 9.0
>   APT prefers testing
>   APT policy: (500, 'testing'), (500, 'stable'), (300, 'unstable')
> Architecture: amd64
>  (x86_64)
> Foreign Architectures: i386, x32
>
> Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/python-modules-team/attachments/20180210/bd88a702/attachment.html>


More information about the Python-modules-team mailing list