-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Qt test failures #5774
Copy link
Copy link
Closed
Labels
QtQt for Python, PyQt, PySideQt for Python, PyQt, PySide
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
QtQt for Python, PyQt, PySideQt for Python, PyQt, PySide