Bug#1038827: libwebm: Failed tests in big-endian architectures

Boyuan Yang <[email protected]> Wed, 21 Jun 2023 16:51:46 -0400
Newsgroups gmane.linux.debian.ports.hppa
Organization Debian Project
Message-ID <c093472d5c07324fb415a90e114e5398569c55b2.camel__19405.2746215434$1687380890$gmane$org@debian.org>
Source: libwebm
Version: 1.0.0.29-1
Tags: sid
Severity: important
X-Debbugs-CC: [email protected] [email protected] [email protected] [email protected] [email protected]

Hi all,

Package libwebm was introduced into Debian in 2021 for .webm support
(and to avoid library vendor copies). However, its unit test has been broken
on big-endian architectures since very beginning as shown in buildd page at
https://buildd.debian.org/status/package.php?p=libwebm (s390x/hppa/powerpc/
ppc64/sparc64 for 1.0.0.30-2 and earlier), causing FTBFS.

Currently an convenient copy of libwebm is bundled and embedded in src:aom,
and embedded libwebm lacks unit tests. When I am working on src:aom and
trying to replace bundled libwebm with the packaged one, current failed unit
tests in libwebm will need some handling, or at least in the release archtiecture
(s390x, such as
https://buildd.debian.org/status/fetch.php?pkg=libwebm&arch=s390x&ver=1.0.0.30-2&stamp=1687373358&raw=0
):


==================================================
./testing/mkvmuxer_tests.cc:863: Failure
Expected equality of these values:
  muxer_mm.luminance_min()
    Which is: 30
  parser_mm->luminance_min
    Which is: 0
./testing/mkvmuxer_tests.cc:864: Failure
Expected equality of these values:
  muxer_mm.luminance_max()
    Which is: 40
  parser_mm->luminance_max
    Which is: 0
./testing/mkvmuxer_tests.cc:865: Failure
Expected equality of these values:
  muxer_mm.r()->x()
    Which is: 0.1
  parser_mm->r->x
    Which is: 0
./testing/mkvmuxer_tests.cc:866: Failure
Expected equality of these values:
  muxer_mm.r()->y()
    Which is: 0.2
  parser_mm->r->y
    Which is: 0
./testing/mkvmuxer_tests.cc:867: Failure
Expected equality of these values:
  muxer_mm.g()->x()
    Which is: 0.1
  parser_mm->g->x
    Which is: 0
./testing/mkvmuxer_tests.cc:868: Failure
Expected equality of these values:
  muxer_mm.g()->y()
    Which is: 0.2
  parser_mm->g->y
    Which is: 0
./testing/mkvmuxer_tests.cc:869: Failure
Expected equality of these values:
  muxer_mm.b()->x()
    Which is: 0.1
  parser_mm->b->x
    Which is: 0
./testing/mkvmuxer_tests.cc:870: Failure
Expected equality of these values:
  muxer_mm.b()->y()
    Which is: 0.2
  parser_mm->b->y
    Which is: 0
./testing/mkvmuxer_tests.cc:871: Failure
Expected equality of these values:
  muxer_mm.white_point()->x()
    Which is: 0.1
  parser_mm->white_point->x
    Which is: 0
./testing/mkvmuxer_tests.cc:872: Failure
Expected equality of these values:
  muxer_mm.white_point()->y()
    Which is: 0.2
  parser_mm->white_point->y
    Which is: 0
[  FAILED  ] MuxerTest.Colour (0 ms)
[ RUN      ] MuxerTest.ColourPartial
[       OK ] MuxerTest.ColourPartial (0 ms)
[ RUN      ] MuxerTest.Projection
./testing/mkvmuxer_tests.cc:930: Failure
Expected equality of these values:
  muxer_proj.pose_yaw()
    Which is: 1
  parser_proj->pose_yaw
    Which is: 0
./testing/mkvmuxer_tests.cc:931: Failure
Expected equality of these values:
  muxer_proj.pose_pitch()
    Which is: 2
  parser_proj->pose_pitch
    Which is: 0
./testing/mkvmuxer_tests.cc:932: Failure
Expected equality of these values:
  muxer_proj.pose_roll()
    Which is: 3
  parser_proj->pose_roll
    Which is: 0
[  FAILED  ] MuxerTest.Projection (0 ms)

===================================================


I am looking for help from porters with experience in big-endian architectures
on debugging of the test failures. Given the high popcon of reverse dependencies
(src:aom, 30000+), I may allow unittest failures for now but still keep this bug
report open against src:libwebm. Any help would be appreciated.

Best,
Boyuan Yang
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAmSTYuIACgkQwpPntGGC
Ws6KOw//ReXMObXnFxlZdB+OQXwUp3lPjAq6WKVDtOR5arhR5um6gELDlOkLLP1X
yDvMTehqbZbIyesfI8tiFXLp0LfH5g68OUQTzzmWk9D2BRb2FKXx0PdD1TrPZhmV
YOwsIR83HOl8eTDSwKud0lZj3fMEB2saPJIFYhRrpM4BWStgAlSWJof2htsOpQ0Q
tz6/P5APS0CNppN4uO7lTkZ7js86w4zlvkARY7yH+yI9B/GJsUUR+NX7DvrgLUGs
t2T1fEDOTj1VAjSsz7NwngOEWMyEgEksgYyHHvFlQGJehVmvqVIoHONbDAWHDdyI
ecyKmuySb6AMF8KemLS5e73YudBF4sT12ZQUEWEzf3y2iekozMAloLX10QXVWYx+
Ijugca1VQjt3RXx+f+vt5kTAYV50ZYrUoEBYQbW8E9P4UZuMriWzIbLBQC4j4fe6
5UtnnStESxUJVWeqOfdPE6y0l7qIC4t0D8aDLh4iztOvIrSbHIerHU4jUiM9c6Bs
GhLMEZhwty+BrowDnx+pjTV0wvVq6DrcwLKNEyLIu/gUbpq2ntCoOI7qQfas2UdI
27MnCRRfUHVJJF9aVyCbYxf82+2VaZAK7QPZ/HIKqtakl+2ta3XZuTBDHIciRj0M
5Umqw/kFlFpl+4szn12k3LrVYKN3dzCSbCt57iJLeRRTUV46WA0=
=tIIl
-----END PGP SIGNATURE-----