enthought / pyface

pyface: traits-capable windowing framework
Other
104 stars 55 forks source link

Bug report: test failures on s390x #1247

Open opoplawski opened 1 year ago

opoplawski commented 1 year ago

Environment

OS: Linux - Fedora Rawhide Python version: 3.11.3 Toolkit: Qt Qt API: PyQt5

Description

When building the Fedora pyface package on the s390x builder I get the following build errors not seen on other architectures:

======================================================================
FAIL: test_array_to_image_rgb (pyface.ui.qt.util.tests.test_image_helpers.TestArrayImageHelpers.test_array_to_image_rgb)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.noarch/usr/lib/python3.11/site-packages/pyface/ui/qt/util/tests/test_image_helpers.py", line 182, in test_array_to_image_rgb
    self.assertTrue(all(
AssertionError: False is not true
======================================================================
FAIL: test_array_to_image_rgba (pyface.ui.qt.util.tests.test_image_helpers.TestArrayImageHelpers.test_array_to_image_rgba)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.noarch/usr/lib/python3.11/site-packages/pyface/ui/qt/util/tests/test_image_helpers.py", line 203, in test_array_to_image_rgba
    self.assertTrue(all(
AssertionError: False is not true
======================================================================
FAIL: test_image_to_array_rgb (pyface.ui.qt.util.tests.test_image_helpers.TestArrayImageHelpers.test_image_to_array_rgb)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.noarch/usr/lib/python3.11/site-packages/pyface/ui/qt/util/tests/test_image_helpers.py", line 142, in test_image_to_array_rgb
    self.assertTrue(np.all(array[:, :, 3] == 0xff))
AssertionError: False is not true
======================================================================
FAIL: test_image_to_array_rgba (pyface.ui.qt.util.tests.test_image_helpers.TestArrayImageHelpers.test_image_to_array_rgba)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-pyface-8.0.0-1.fc39.noarch/usr/lib/python3.11/site-packages/pyface/ui/qt/util/tests/test_image_helpers.py", line 155, in test_image_to_array_rgba
    self.assertTrue(np.all(array[:, :, 0] == 0x44))
AssertionError: False is not true
----------------------------------------------------------------------

Steps to Reproduce

+ export ETS_TOOLKIT=qt
+ ETS_TOOLKIT=qt
+ export QT_API=pyqt5
+ QT_API=pyqt5
+ export EXCLUDE_TESTS=wx
+ EXCLUDE_TESTS=wx
+ xvfb-run /usr/bin/python3 -Xfaulthandler -s -m unittest discover -v pyface
corranwebster commented 1 year ago

Possibly an endianness/byte-order issue? Not familiar with the s390 architecture and I don't think we have an easy way to test on it.

opoplawski commented 1 year ago

Quite likely - s390x is big-endian. I can run any specific tests you'd like.