dk / Prima

prima.eu.org
Other
108 stars 27 forks source link

t/Object/Application.t fails on big-endian s390x #81

Closed ppisar closed 1 year ago

ppisar commented 1 year ago

I experience a test regression between 1.67 and 1.67001 (also current HEAD 71f6143b80012b78cfaf8d08ecd199968851d624):

# xvfb-run -d prove -b t/Object/Application.t
t/Object/Application.t .. 1/?
#   Failed test 'one pixel is red'
#   at t/Object/Application.t line 57.

#   Failed test 'another is green'
#   at t/Object/Application.t line 59.
t/Object/Application.t .. 10/? # Looks like you failed 2 tests of 17.
t/Object/Application.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/17 subtests
ppisar commented 1 year ago

I narrowed the regression to these history of commits:

3ca74baa42b47a0af876a87baa49e0aff5bb002d bad, the test fails as reported

455cec7e8ea1b3d5c9f7acf1943c9975e75b24e6 bad, the test fails differently
098ed4e0ffadb33b2562fe6af6c033ed868f6202 fails to compile
e1d35c74b595ea48d5c707dfa3f62ef257690f52 fails to compile
3b73ea4dde6f242b785080638ab5a4133155b169 fails to compile
49dfbda2bfdb2b81ed6f9a23e4f024b6598c2ec7 fails to compile
99cbfaf12ebe03901e782147290676b6dbff4397 fails to compile

7bb27387161eb404aa9f6fb53bfe9880f674118b last good

3ca74baa42b47a0af876a87baa49e0aff5bb002d (fixes for tests under blue light compensation / f.lux) and 098ed4e0ffadb33b2562fe6af6c033ed868f6202 (detect run during screensaver) edited the failing test.

ppisar commented 1 year ago

I should note that the test passes on other little-endian architectures (x86_64, i686, ppc64le, etc.).

ppisar commented 1 year ago

The two pixels are expected to be:

A=ff0000, B=00ff00

But on s390x they are:

A=00ff00, B=ff0000

ppisar commented 1 year ago

Thanks. It fixes the bug.

dk commented 1 year ago

Thanks for finding it! I only have a really slow vm for s390x and don't really use it much...