Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qt test failures #5774

Closed
hugovk opened this issue Oct 16, 2021 · 6 comments · Fixed by #5775
Closed

Qt test failures #5774

hugovk opened this issue Oct 16, 2021 · 6 comments · Fixed by #5775
Labels
Qt Qt for Python, PyQt, PySide

Comments

@hugovk
Copy link
Member

hugovk commented Oct 16, 2021

First part

Qt tests have started failing on main:

Tests/test_qt_image_qapplication.py::test_sanity FAILED                  [ 97%]

================================== FAILURES ===================================
_________________________________ test_sanity _________________________________

tmp_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-runneradmin/pytest-0/test_sanity8')

    @pytest.mark.skipif(not ImageQt.qt_is_installed, reason="Qt bindings are not installed")
    def test_sanity(tmp_path):
        # Segfault test
        app = QApplication([])
        ex = Example()
        assert app  # Silence warning
        assert ex  # Silence warning
    
        for mode in ("1", "RGB", "RGBA", "L", "P"):
            # to QPixmap
            im = hopper(mode)
            data = ImageQt.toqpixmap(im)
    
            assert isinstance(data, QPixmap)
            assert not data.isNull()
    
            # Test saving the file
            tempfile = str(tmp_path / f"temp_{mode}.png")
            data.save(tempfile)
    
            # Render the image
            qimage = ImageQt.ImageQt(im)
            data = QPixmap.fromImage(qimage)
            qt_format = QImage.Format if ImageQt.qt_version == "6" else QImage
            qimage = QImage(128, 128, qt_format.Format_ARGB32)
            painter = QPainter(qimage)
            image_label = QLabel()
            image_label.setPixmap(data)
            image_label.render(painter, QPoint(0, 0), QRegion(0, 0, 128, 128))
            painter.end()
            rendered_tempfile = str(tmp_path / f"temp_rendered_{mode}.png")
            qimage.save(rendered_tempfile)
            assert_image_equal_tofile(im.convert("RGBA"), rendered_tempfile)
    
            # from QPixmap
>           roundtrip(hopper(mode))

Tests/test_qt_image_qapplication.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests/test_qt_image_qapplication.py:47: in roundtrip
    assert_image_equal(result, expected.convert("RGB"))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

a = <PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x912B190>
b = <PIL.Image.Image image mode=RGB size=128x128 at 0x912B808>, msg = None

    def assert_image_equal(a, b, msg=None):
        assert a.mode == b.mode, msg or f"got mode {repr(a.mode)}, expected {repr(b.mode)}"
        assert a.size == b.size, msg or f"got size {repr(a.size)}, expected {repr(b.size)}"
        if a.tobytes() != b.tobytes():
            if HAS_UPLOADER:
                try:
                    url = test_image_results.upload(a, b)
                    logger.error(f"Url for test images: {url}")
                except Exception:
                    pass
    
>           assert False, msg or "got different content"
E           AssertionError: got different content
E           assert False

Tests/helper.py:100: AssertionError

https://github.com/python-pillow/Pillow/pull/5768/checks?check_run_id=3913969875

#5664 (comment)

@hugovk
Copy link
Member Author

hugovk commented Oct 16, 2021

Second part

Also #5664 (comment):


Got some QT (PyQt6 6.2.0) related failures:

============================================================= test session starts =============================================================
platform win32 -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-1.0.0 -- X:\Python39\python.exe
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('D:\\Build\\Pillow\\Pillow-8.4.0\\.hypothesis\\examples')
--------------------------------------------------------------------
Pillow 8.4.0
Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)]
--------------------------------------------------------------------
Python modules loaded from X:\Python39\lib\site-packages\PIL
Binary modules loaded from X:\Python39\lib\site-packages\PIL
--------------------------------------------------------------------
--- PIL CORE support ok, compiled for 8.4.0
--- TKINTER support ok, loaded 8.6
--- FREETYPE2 support ok, loaded 2.11.0
--- LITTLECMS2 support ok, loaded 2.12
--- WEBP support ok, loaded 1.2.1
--- WEBP Transparency support ok
--- WEBPMUX support ok
--- WEBP Animation support ok
--- JPEG support ok, compiled for libjpeg-turbo 2.1.1
--- OPENJPEG (JPEG2000) support ok, loaded 2.4.0
--- ZLIB (PNG/ZIP) support ok, loaded 1.2.11
--- LIBTIFF support ok, loaded 4.3.0
--- RAQM (Bidirectional Text) support ok, loaded 0.7.2, fribidi 1.0.10, harfbuzz 2.9.1
*** LIBIMAGEQUANT (Quantization method) support not installed
*** XCB (X protocol) support not installed
--------------------------------------------------------------------

rootdir: D:\Build\Pillow\Pillow-8.4.0, configfile: setup.cfg, testpaths: Tests
plugins: anyio-3.3.2, hypothesis-6.21.5, napari-0.4.11, napari-plugin-engine-0.2.0, cov-3.0.0, forked-1.3.0, xdist-2.4.0
collected 1915 items / 1 skipped / 1914 selected

<snip>

================================================================== FAILURES ===================================================================
________________________________________________________________ test_sanity_1 ________________________________________________________________

test_images = [<PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x20ADDE98FA0>, <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=200x150 at 0x20ADDE98B80>, <PIL.PngImagePlugin.PngImageFile image mode=RGB size=7x13 at 0x20ADDE98400>]

    def test_sanity_1(test_images):
        for im in test_images:
>           roundtrip(im.convert("1"))

Tests\test_image_fromqimage.py:40:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_image_fromqimage.py:30: in roundtrip
    result = ImageQt.fromqimage(intermediate)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADDE99350>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
_______________________________________________________________ test_sanity_rgb _______________________________________________________________

test_images = [<PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x20AEDDD8E50>, <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=200x150 at 0x20AEDDD8AC0>, <PIL.PngImagePlugin.PngImageFile image mode=RGB size=7x13 at 0x20AEDDD8F10>]

    def test_sanity_rgb(test_images):
        for im in test_images:
>           roundtrip(im.convert("RGB"))

Tests\test_image_fromqimage.py:45:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_image_fromqimage.py:30: in roundtrip
    result = ImageQt.fromqimage(intermediate)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADDEA67B0>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
______________________________________________________________ test_sanity_rgba _______________________________________________________________

test_images = [<PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x20AEDE8E1F0>, <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=200x150 at 0x20AEDC02490>, <PIL.PngImagePlugin.PngImageFile image mode=RGB size=7x13 at 0x20ADDE33340>]

    def test_sanity_rgba(test_images):
        for im in test_images:
>           roundtrip(im.convert("RGBA"))

Tests\test_image_fromqimage.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_image_fromqimage.py:30: in roundtrip
    result = ImageQt.fromqimage(intermediate)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADDEA6E40>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
________________________________________________________________ test_sanity_l ________________________________________________________________

test_images = [<PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x20AEDB7F460>, <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=200x150 at 0x20AEDB7F610>, <PIL.PngImagePlugin.PngImageFile image mode=RGB size=7x13 at 0x20AEDB7F130>]

    def test_sanity_l(test_images):
        for im in test_images:
>           roundtrip(im.convert("L"))

Tests\test_image_fromqimage.py:55:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_image_fromqimage.py:30: in roundtrip
    result = ImageQt.fromqimage(intermediate)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADDE99E40>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
________________________________________________________________ test_sanity_p ________________________________________________________________

test_images = [<PIL.PpmImagePlugin.PpmImageFile image mode=RGB size=128x128 at 0x20AEDAD7FA0>, <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=200x150 at 0x20AEDAD7610>, <PIL.PngImagePlugin.PngImageFile image mode=RGB size=7x13 at 0x20AEDAD7F70>]

    def test_sanity_p(test_images):
        for im in test_images:
>           roundtrip(im.convert("P"))

Tests\test_image_fromqimage.py:60:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_image_fromqimage.py:30: in roundtrip
    result = ImageQt.fromqimage(intermediate)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADDEAD430>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
_________________________________________________________________ test_sanity _________________________________________________________________

tmp_path = WindowsPath('C:/Users/gohlke/AppData/Local/Temp/pytest-of-gohlke/pytest-8/test_sanity8')

    @pytest.mark.skipif(not ImageQt.qt_is_installed, reason="Qt bindings are not installed")
    def test_sanity(tmp_path):
        # Segfault test
        app = QApplication([])
        ex = Example()
        assert app  # Silence warning
        assert ex  # Silence warning

        for mode in ("1", "RGB", "RGBA", "L", "P"):
            # to QPixmap
            im = hopper(mode)
            data = ImageQt.toqpixmap(im)

            assert isinstance(data, QPixmap)
            assert not data.isNull()

            # Test saving the file
            tempfile = str(tmp_path / f"temp_{mode}.png")
            data.save(tempfile)

            # Render the image
            qimage = ImageQt.ImageQt(im)
            data = QPixmap.fromImage(qimage)
            qt_format = QImage.Format if ImageQt.qt_version == "6" else QImage
            qimage = QImage(128, 128, qt_format.Format_ARGB32)
            painter = QPainter(qimage)
            image_label = QLabel()
            image_label.setPixmap(data)
            image_label.render(painter, QPoint(0, 0), QRegion(0, 0, 128, 128))
            painter.end()
            rendered_tempfile = str(tmp_path / f"temp_rendered_{mode}.png")
            qimage.save(rendered_tempfile)
            assert_image_equal_tofile(im.convert("RGBA"), rendered_tempfile)

            # from QPixmap
>           roundtrip(hopper(mode))

Tests\test_qt_image_qapplication.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Tests\test_qt_image_qapplication.py:45: in roundtrip
    result = ImageQt.fromqpixmap(ImageQt.toqpixmap(expected))
X:\Python39\lib\site-packages\PIL\ImageQt.py:87: in fromqpixmap
    return fromqimage(im)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PyQt6.QtGui.QPixmap object at 0x0000020ADF342CF0>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
_________________________________________________________________ test_sanity _________________________________________________________________

tmp_path = WindowsPath('C:/Users/gohlke/AppData/Local/Temp/pytest-of-gohlke/pytest-8/test_sanity9')

    def test_sanity(tmp_path):
        for mode in ("RGB", "RGBA", "L", "P", "1"):
            src = hopper(mode)
            data = ImageQt.toqimage(src)

            assert isinstance(data, QImage)
            assert not data.isNull()

            # reload directly from the qimage
>           rt = ImageQt.fromqimage(data)

Tests\test_qt_image_toqimage.py:24:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

im = <PIL.ImageQt.ImageQt object at 0x0000020ADE0A85F0>

    def fromqimage(im):
        """
        :param im: QImage or PIL ImageQt object
        """
        buffer = QBuffer()
>       qt_openmode = QIODevice.OpenMode if qt_version == "6" else QIODevice
E       AttributeError: type object 'QIODevice' has no attribute 'OpenMode'

X:\Python39\lib\site-packages\PIL\ImageQt.py:69: AttributeError
============================================================== warnings summary ===============================================================
Tests\test_file_eps.py:283
  D:\Build\Pillow\Pillow-8.4.0\Tests\test_file_eps.py:283: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
    @pytest.mark.timeout(timeout=5)

Tests\test_file_fli.py:135
  D:\Build\Pillow\Pillow-8.4.0\Tests\test_file_fli.py:135: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
    @pytest.mark.timeout(timeout=3)

Tests\test_file_pdf.py:315
  D:\Build\Pillow\Pillow-8.4.0\Tests\test_file_pdf.py:315: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
    @pytest.mark.timeout(1)

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================================================== short test summary info ===========================================================
SKIPPED [1] Tests\oss-fuzz\test_fuzzers.py:11: Fuzzer is linux only
SKIPPED [1] Tests\test_features.py:68: libimagequant not available
SKIPPED [1] Tests\test_file_gif.py:223: Netpbm not available
SKIPPED [1] Tests\test_file_gif.py:234: Netpbm not available
SKIPPED [4] Tests\test_file_jpeg2k.py:281: Extra image files not installed
SKIPPED [1] Tests\test_file_msp.py:58: Extra image files not installed
SKIPPED [1] Tests\test_file_msp.py:72: Even More Extra image files not installed
SKIPPED [1] Tests\test_file_png.py:770: Requires Unix or macOS
SKIPPED [1] Tests\test_file_sun.py:35: Extra image files not installed
SKIPPED [1] Tests\test_file_tiff.py:716: Extra image files not installed
SKIPPED [1] Tests\test_font_leaks.py:20: Requires Unix or macOS
SKIPPED [1] Tests\test_font_leaks.py:31: Requires Unix or macOS
SKIPPED [1] Tests\test_image.py:196: Test requires opening tempfile twice
SKIPPED [1] Tests\test_image_quantize.py:27: libimagequant support not available
SKIPPED [1] Tests\test_imagedraw.py:974: failing
SKIPPED [2] Tests\test_imagefont.py:495: requires Unix or macOS
SKIPPED [2] Tests\test_imagefont.py:536: requires Unix or macOS
SKIPPED [2] Tests\test_imagefontctl.py:238: fails with this font
SKIPPED [1] Tests\test_imagegrab.py:27: xcb not available
SKIPPED [1] Tests\test_imagegrab.py:50: xcb not available
SKIPPED [1] Tests\test_imageshow.py:44: Only run on CIs; hangs on Windows CIs
SKIPPED [1] Tests\test_shell_injection.py:25: Requires Unix or macOS
SKIPPED [1] Tests\test_shell_injection.py:34: Requires Unix or macOS
SKIPPED [1] Tests\test_shell_injection.py:39: Netpbm not available
SKIPPED [1] Tests\test_shell_injection.py:45: Netpbm not available
SKIPPED [3] Tests\test_tiff_crashes.py:50: test image not found
SKIPPED [1] Tests\test_webp_leaks.py:16: Requires Unix or macOS
XFAIL Tests/test_decompression_bomb.py::TestDecompressionBomb::test_exception_ico
  different exception
XFAIL Tests/test_image_resample.py::TestCoreResampleAlphaCorrect::test_levels_rgba
  Current implementation isn't precise enough
XFAIL Tests/test_image_resample.py::TestCoreResampleAlphaCorrect::test_levels_la
  Current implementation isn't precise enough
XPASS Tests/test_file_palm.py::test_p_mode Palm P image is wrong
FAILED Tests/test_image_fromqimage.py::test_sanity_1 - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_image_fromqimage.py::test_sanity_rgb - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_image_fromqimage.py::test_sanity_rgba - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_image_fromqimage.py::test_sanity_l - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_image_fromqimage.py::test_sanity_p - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_qt_image_qapplication.py::test_sanity - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
FAILED Tests/test_qt_image_toqimage.py::test_sanity - AttributeError: type object 'QIODevice' has no attribute 'OpenMode'
================================ 7 failed, 1870 passed, 35 skipped, 3 xfailed, 1 xpassed, 3 warnings in 45.09s ================================

@hugovk
Copy link
Member Author

hugovk commented Oct 16, 2021

Also #5664 (comment):


MINGW32 CI failures could be related to msys2/MINGW-packages#9771 or msys2/MINGW-packages#9736?

@hugovk hugovk added the Qt Qt for Python, PyQt, PySide label Oct 16, 2021
@hugovk
Copy link
Member Author

hugovk commented Oct 16, 2021

And at least the Tests/test_qt_image_qapplication.py::test_sanity one is intermittent (or fixed).

Here was a failing build:

https://github.com/python-pillow/Pillow/runs/3913969875?check_suite_focus=true

It passed when restarted:

https://github.com/python-pillow/Pillow/runs/3914351631?check_suite_focus=true

@hugovk hugovk mentioned this issue Oct 16, 2021
@hugovk
Copy link
Member Author

hugovk commented Oct 16, 2021

Fix for the second part, failures on PyQt6 which we weren't testing on CI: #5775

@nulano
Copy link
Contributor

nulano commented Oct 16, 2021

I already noticed the first part failing intermittently in the past few days even before the release, but didn't look into / open an issue as I feel like it might be an issue with the MSYS2/MinGW build of Qt.

@hugovk
Copy link
Member Author

hugovk commented Oct 17, 2021

If so, then upgrading to PyQt6 in #5775 will fix it. 🤞

I'll mark that PR as fix then and we can reopen if necessarily later!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Qt Qt for Python, PyQt, PySide
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants