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

test_read_format_7zip_lzma* tests fail with Gentoo "minimal" liblzma/xz-utils #2070

Open
mgorny opened this issue Feb 16, 2024 · 0 comments
Open

Comments

@mgorny
Copy link
Contributor

mgorny commented Feb 16, 2024

Gentoo supports building a smaller version of liblzma that doesn't include filters that aren't normally used in .xz files. It is built with the following configure switches:

--enable-encoders=lzma1,lzma2
--enable-decoders=lzma1,lzma2
--enable-match-finders=hc3,hc4,bt4
--enable-checks=crc32,crc64

In particular, it doesn't support delta and executable filters, non-default match finders and sha256 checks.

This causes the following libarchive tests to fail:

  203: test_read_format_7zip_lzma1 (4 failures)
  204: test_read_format_7zip_lzma2 (6 failures)
  206: test_read_format_7zip_lzma2_arm (2 failures)
  208: test_read_format_7zip_lzma2_arm64 (2 failures)

Details:

==> test_read_format_7zip_lzma1.log <==
test_read_format_7zip_lzma1

libarchive/test/test_read_format_7zip.c:666: sizeof(buff) != bytes = archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=1024 (0x400, 02000)
      bytes = archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:673: 0 != remaining
      0=0 (0x0, 00)
      remaining=27627 (0x6beb, 065753)
libarchive/test/test_read_format_7zip.c:666: sizeof(buff) != bytes = archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=1024 (0x400, 02000)
      bytes = archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:673: 0 != remaining
      0=0 (0x0, 00)
      remaining=27627 (0x6beb, 065753)
libarchive/test/test_read_format_7zip.c:666: Summary: Failed 2 times
libarchive/test/test_read_format_7zip.c:673: Summary: Failed 2 times

==> test_read_format_7zip_lzma2_arm64.log <==
test_read_format_7zip_lzma2_arm64

libarchive/test/test_read_format_7zip.c:1137: sizeof(buff) != archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=70368 (0x112e0, 0211340)
      archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:1139: computed_crc != expected_crc
      computed_crc=636228993 (0x25ec1581, 04573012601)
      expected_crc=3734492564 (0xde97d594, 033645752624)

==> test_read_format_7zip_lzma2_arm.log <==
test_read_format_7zip_lzma2_arm

libarchive/test/test_read_format_7zip.c:1064: sizeof(buff) != archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=7804 (0x1e7c, 017174)
      archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:1066: computed_crc != expected_crc
      computed_crc=4146314219 (0xf723bbeb, 036710735753)
      expected_crc=895403233 (0x355ec4e1, 06527542341)

==> test_read_format_7zip_lzma2.log <==
test_read_format_7zip_lzma2

libarchive/test/test_read_format_7zip.c:722: sizeof(buff) != bytes = archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=1024 (0x400, 02000)
      bytes = archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:729: 0 != remaining
      0=0 (0x0, 00)
      remaining=27328 (0x6ac0, 065300)
libarchive/test/test_read_format_7zip.c:666: sizeof(buff) != bytes = archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=1024 (0x400, 02000)
      bytes = archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:673: 0 != remaining
      0=0 (0x0, 00)
      remaining=27627 (0x6beb, 065753)
libarchive/test/test_read_format_7zip.c:666: sizeof(buff) != bytes = archive_read_data(a, buff, sizeof(buff))
      sizeof(buff)=1024 (0x400, 02000)
      bytes = archive_read_data(a, buff, sizeof(buff))=-30 (0xffffffffffffffe2, 01777777777777777777742)
libarchive/test/test_read_format_7zip.c:673: 0 != remaining
      0=0 (0x0, 00)
      remaining=27627 (0x6beb, 065753)
libarchive/test/test_read_format_7zip.c:666: Summary: Failed 2 times
libarchive/test/test_read_format_7zip.c:673: Summary: Failed 2 times

While I do realize that such a build of libarchive will not have a fully functional .7z support, could we make these tests skip if liblzma is lacking the necessary filters?

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

No branches or pull requests

1 participant