Source: python-pycdlib Version: 1.12.0+ds1-5 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20240224 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > make[1]: pyversions: No such file or directory > py3versions: no X-Python3-Version in control file, using supported versions > pkgos-dh_auto_install --no-py2 --in-tmp > + PKGOS_IN_TMP=no > + echo WARNING: --no-py2 is deprecated and always on. > WARNING: --no-py2 is deprecated and always on. > + shift > + PKGOS_IN_TMP=yes > + shift > + dpkg-parsechangelog -SSource > + SRC_PKG_NAME=python-pycdlib > + + sed s/python-// > echo python-pycdlib > + PY_MODULE_NAME=pycdlib > + py3versions -vr > + PYTHON3S=3.12 3.11 > + [ yes = yes ] > + TARGET_DIR=tmp > + pwd > + python3.12 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > ******************************************************************************** > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > ******************************************************************************** > > !! > self.initialize_options() > running build > running build_py > creating build > creating build/lib > creating build/lib/pycdlib > copying pycdlib/utils.py -> build/lib/pycdlib > copying pycdlib/__init__.py -> build/lib/pycdlib > copying pycdlib/rockridge.py -> build/lib/pycdlib > copying pycdlib/backport_functools.py -> build/lib/pycdlib > copying pycdlib/path_table_record.py -> build/lib/pycdlib > copying pycdlib/eltorito.py -> build/lib/pycdlib > copying pycdlib/pycdlibexception.py -> build/lib/pycdlib > copying pycdlib/inode.py -> build/lib/pycdlib > copying pycdlib/dates.py -> build/lib/pycdlib > copying pycdlib/pycdlib.py -> build/lib/pycdlib > copying pycdlib/isohybrid.py -> build/lib/pycdlib > copying pycdlib/udf.py -> build/lib/pycdlib > copying pycdlib/facade.py -> build/lib/pycdlib > copying pycdlib/pycdlibio.py -> build/lib/pycdlib > copying pycdlib/headervd.py -> build/lib/pycdlib > copying pycdlib/dr.py -> build/lib/pycdlib > running build_scripts > creating build/scripts-3.12 > copying and adjusting tools/pycdlib-explorer -> build/scripts-3.12 > copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.12 > copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.12 > changing mode of build/scripts-3.12/pycdlib-explorer from 644 to 755 > changing mode of build/scripts-3.12/pycdlib-extract-files from 644 to 755 > changing mode of build/scripts-3.12/pycdlib-genisoimage from 644 to 755 > running install_lib > creating /<<PKGBUILDDIR>>/debian/tmp > creating /<<PKGBUILDDIR>>/debian/tmp/usr > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3 > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/utils.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/__init__.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/rockridge.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/backport_functools.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/path_table_record.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/eltorito.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/pycdlibexception.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/inode.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/dates.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/pycdlib.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/isohybrid.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/udf.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/facade.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/pycdlibio.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/headervd.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > copying build/lib/pycdlib/dr.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to > utils.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py > to __init__.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py > to rockridge.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py > to backport_functools.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py > to path_table_record.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py > to eltorito.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py > to pycdlibexception.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to > inode.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to > dates.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py > to pycdlib.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py > to isohybrid.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to > udf.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py > to facade.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py > to pycdlibio.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py > to headervd.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to > dr.cpython-312.pyc > running install_data > creating /<<PKGBUILDDIR>>/debian/tmp/usr/share > creating /<<PKGBUILDDIR>>/debian/tmp/usr/share/man > creating /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1 > copying man/pycdlib-explorer.1 -> > /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1 > copying man/pycdlib-extract-files.1 -> > /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1 > copying man/pycdlib-genisoimage.1 -> > /<<PKGBUILDDIR>>/debian/tmp/usr/share/man/man1 > running install_egg_info > running egg_info > creating pycdlib.egg-info > writing pycdlib.egg-info/PKG-INFO > writing dependency_links to pycdlib.egg-info/dependency_links.txt > writing top-level names to pycdlib.egg-info/top_level.txt > writing manifest file 'pycdlib.egg-info/SOURCES.txt' > reading manifest file 'pycdlib.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > adding license file 'COPYING' > writing manifest file 'pycdlib.egg-info/SOURCES.txt' > Copying pycdlib.egg-info to > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info > Skipping SOURCES.txt > running install_scripts > creating /<<PKGBUILDDIR>>/debian/tmp/usr/bin > copying build/scripts-3.12/pycdlib-genisoimage -> > /<<PKGBUILDDIR>>/debian/tmp/usr/bin > copying build/scripts-3.12/pycdlib-extract-files -> > /<<PKGBUILDDIR>>/debian/tmp/usr/bin > copying build/scripts-3.12/pycdlib-explorer -> > /<<PKGBUILDDIR>>/debian/tmp/usr/bin > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-genisoimage to > 755 > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-extract-files to > 755 > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-explorer to 755 > + pwd > + python3.11 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > ******************************************************************************** > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > ******************************************************************************** > > !! > self.initialize_options() > running build > running build_py > running build_scripts > creating build/scripts-3.11 > copying and adjusting tools/pycdlib-explorer -> build/scripts-3.11 > copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.11 > copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.11 > changing mode of build/scripts-3.11/pycdlib-explorer from 644 to 755 > changing mode of build/scripts-3.11/pycdlib-extract-files from 644 to 755 > changing mode of build/scripts-3.11/pycdlib-genisoimage from 644 to 755 > running install_lib > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to > utils.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py > to __init__.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py > to rockridge.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py > to backport_functools.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py > to path_table_record.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py > to eltorito.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py > to pycdlibexception.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to > inode.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to > dates.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py > to pycdlib.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py > to isohybrid.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to > udf.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py > to facade.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py > to pycdlibio.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py > to headervd.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to > dr.cpython-311.pyc > running install_data > running install_egg_info > running egg_info > writing pycdlib.egg-info/PKG-INFO > writing dependency_links to pycdlib.egg-info/dependency_links.txt > writing top-level names to pycdlib.egg-info/top_level.txt > reading manifest file 'pycdlib.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > adding license file 'COPYING' > writing manifest file 'pycdlib.egg-info/SOURCES.txt' > removing > '/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info' > (and everything under it) > Copying pycdlib.egg-info to > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info > Skipping SOURCES.txt > running install_scripts > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-genisoimage to > 755 > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-extract-files to > 755 > changing mode of /<<PKGBUILDDIR>>/debian/tmp/usr/bin/pycdlib-explorer to 755 > + pwd > + rm -rf /<<PKGBUILDDIR>>/debian/python*/usr/lib/python*/dist-packages/*.pth > + pwd > + rm -rf /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python*/dist-packages/*.pth > set -e ; set -x ; for pyvers in 3.12 3.11; do \ > PATH=$PATH:/<<PKGBUILDDIR>>/debian/tmp/usr/bin > PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > python$pyvers -m pytest tests -k 'not test_volumedescdate_new_nonzero and not > test_gmtoffset_from_tm'; \ > done > + > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/<<PKGBUILDDIR>>/debian/tmp/usr/bin > PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > python3.12 -m pytest tests -k not test_volumedescdate_new_nonzero and not > test_gmtoffset_from_tm > ============================= test session starts > ============================== > platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 > rootdir: /<<PKGBUILDDIR>> > configfile: pytest.ini > collected 1721 items / 3 deselected / 1718 selected > > tests/integration/test_facade.py ....................................... [ > 2%] > .................. [ > 3%] > tests/integration/test_hybrid.py ....................................... [ > 5%] > ....................s..............F.................................... [ > 9%] > .........s..................... [ > 11%] > tests/integration/test_new.py .......................................... [ > 14%] > ........................................................................ [ > 18%] > ........................................................................ [ > 22%] > ........................................................................ [ > 26%] > ......................................................ssss.............. [ > 30%] > ........................................................................ [ > 34%] > ..................................................................s [ > 38%] > tests/integration/test_parse.py ........................................ [ > 41%] > ....sss...FFF................F.......................................... [ > 45%] > .....................................s..............F................... [ > 49%] > ......s................. [ > 50%] > tests/tools/test_pycdlib_genisoimage.py .ssss. [ > 51%] > tests/unit/test_dates.py ........................ [ > 52%] > tests/unit/test_dr.py ......................................... [ > 55%] > tests/unit/test_eltorito.py ............................... [ > 56%] > tests/unit/test_headervd.py ............................................ [ > 59%] > ....... [ > 59%] > tests/unit/test_inode.py ....... [ > 60%] > tests/unit/test_isohybrid.py ........................................... [ > 62%] > [ > 62%] > tests/unit/test_ptr.py ........ [ > 63%] > tests/unit/test_rockridge.py ........................................... [ > 65%] > ........................................................................ [ > 69%] > ........................................................................ [ > 74%] > ..................................................... [ > 77%] > tests/unit/test_udf.py ................................................. [ > 80%] > ........................................................................ [ > 84%] > ........................................................................ [ > 88%] > ........................................................................ [ > 92%] > ........................................................................ [ > 96%] > ................ [ > 97%] > tests/unit/test_utils.py ...................................... > [100%] > > =================================== FAILURES > =================================== > __________________________ test_hybrid_sevendeepdirs > ___________________________ > > tmp_path = > PosixPath('/tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0') > > def test_hybrid_sevendeepdirs(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'sevendeepdirs' > indir.mkdir() > outfile = str(indir)+'.iso' > numdirs = 8 > x = indir > for i in range(1, 1+numdirs): > x = x / ('dir%d' % i) > x.mkdir(parents=True) > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > # Now open up the ISO with pycdlib and check some things out. > iso = pycdlib.PyCdlib() > > iso.open(str(outfile)) > > iso.rm_directory('/DIR1/DIR2/DIR3/DIR4/DIR5/DIR6/DIR7/DIR8', > rr_name='dir8') > > > do_a_test(iso, check_sevendeepdirs) > > tests/integration/test_hybrid.py:1722: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_hybrid.py:21: in do_a_test > check_func(iso, len(out.getvalue())) > tests/integration/test_common.py:2340: in check_sevendeepdirs > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, > data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a2a99e40>, rr = > True > rr_nlinks = 3, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 2 == 3 > E + where 2 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a468a7a0>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a468a7a0> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03740>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03740> = <pycdlib.rockridge.RockRidge object at > 0x7f98a4694740>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a4694740> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a2a99e40>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > 23 474 > 24 322 rr_moved > 25 216 dir8 > 26 318 dir1 > 27 318 dir2 > 28 318 dir3 > 29 318 dir4 > 30 318 dir5 > 31 318 dir6 > 32 330 dir7 > Cache hit for 'dir8/.' > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 17 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 18 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 19 > Done with: Path table Block(s) 4 > Writing: Directory tree Start Block 23 > Done with: Directory tree Block(s) 10 > Writing: Directory tree cleanup Start Block 33 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 33 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 34 > Total extents scheduled to be written = 34 > Total translation table size: 0 > Total rockridge attributes bytes: 2167 > Total directory bytes: 18906 > Path table size(bytes): 122 > Done with: The File(s) Block(s) 0 > Max brk space used 43000 > 34 extents written (0 MB) > ____________________________ test_parse_rr_deep_dir > ____________________________ > > tmp_path = > PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0') > > def test_parse_rr_deep_dir(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'rrdeep' > indir.mkdir() > outfile = str(indir)+'.iso' > newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' > / 'dir7' / 'dir8' > newdir.mkdir(parents=True) > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmp_path, outfile, check_rr_deep_dir) > > tests/integration/test_parse.py:780: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:2257: in check_rr_deep_dir > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, > data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f4440>, rr = > True > rr_nlinks = 4, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 3 == 4 > E + where 3 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a468b3d0>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a468b3d0> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03060>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03060> = <pycdlib.rockridge.RockRidge object at > 0x7f98a4603840>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a4603840> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a45f4440>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > 23 474 > 24 322 rr_moved > 25 216 dir8 > 26 318 dir1 > 27 318 dir2 > 28 318 dir3 > 29 318 dir4 > 30 318 dir5 > 31 318 dir6 > 32 330 dir7 > Cache hit for 'dir8/.' > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 17 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 18 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 19 > Done with: Path table Block(s) 4 > Writing: Directory tree Start Block 23 > Done with: Directory tree Block(s) 10 > Writing: Directory tree cleanup Start Block 33 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 33 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 34 > Total extents scheduled to be written = 34 > Total translation table size: 0 > Total rockridge attributes bytes: 2167 > Total directory bytes: 18906 > Path table size(bytes): 122 > Done with: The File(s) Block(s) 0 > Max brk space used 43000 > 34 extents written (0 MB) > ______________________________ test_parse_rr_deep > ______________________________ > > tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0') > > def test_parse_rr_deep(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'rrdeep' > indir.mkdir() > outfile = str(indir)+'.iso' > newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' > / 'dir7' / 'dir8' > newdir.mkdir(parents=True) > with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', > 'dir5', 'dir6', 'dir7', 'dir8', 'foo'), 'wb') as outfp: > outfp.write(b'foo\n') > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmp_path, outfile, check_rr_deep) > > tests/integration/test_parse.py:794: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:2268: in check_rr_deep > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, > data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f4a40>, rr = > True > rr_nlinks = 4, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 3 == 4 > E + where 3 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a2a5bb00>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a2a5bb00> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03320>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a3c03320> = <pycdlib.rockridge.RockRidge object at > 0x7f98a23b9770>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a23b9770> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a45f4a40>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1 > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > 23 474 > 24 322 rr_moved > 25 332 dir8 > 26 318 dir1 > 27 318 dir2 > 28 318 dir3 > 29 318 dir4 > 30 318 dir5 > 31 318 dir6 > 32 330 dir7 > Cache hit for 'dir8/.' > 34 34 > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/foo > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 17 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 18 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 19 > Done with: Path table Block(s) 4 > Writing: Directory tree Start Block 23 > Done with: Directory tree Block(s) 10 > Writing: Directory tree cleanup Start Block 33 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 33 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 34 > Total extents scheduled to be written = 35 > Total translation table size: 0 > Total rockridge attributes bytes: 2242 > Total directory bytes: 18906 > Path table size(bytes): 122 > Done with: The File(s) Block(s) 1 > Max brk space used 43000 > 35 extents written (0 MB) > _____________________________ test_parse_rr_deep2 > ______________________________ > > tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20') > > def test_parse_rr_deep2(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'rrdeep' > indir.mkdir() > outfile = str(indir)+'.iso' > newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' > / 'dir7' / 'dir8' / 'dir9' > newdir.mkdir(parents=True) > with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', > 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp: > outfp.write(b'foo\n') > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmp_path, outfile, check_rr_deep2) > > tests/integration/test_parse.py:808: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:2281: in check_rr_deep2 > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, > data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f6b40>, rr = > True > rr_nlinks = 4, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 3 == 4 > E + where 3 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a23f9a80>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a23f9a80> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a23d7270>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a23d7270> = <pycdlib.rockridge.RockRidge object at > 0x7f98a23ba880>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a23ba880> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a45f6b40>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1 > Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9 > 23 474 > 24 322 rr_moved > 25 330 dir8 > 26 320 dir9 > 27 318 dir1 > 28 318 dir2 > 29 318 dir3 > 30 318 dir4 > 31 318 dir5 > 32 318 dir6 > 33 330 dir7 > Cache hit for 'dir8/.' > Cache hit for 'dir9/.' > Cache hit for 'dir9/..' > 35 35 > /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 17 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 18 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 19 > Done with: Path table Block(s) 4 > Writing: Directory tree Start Block 23 > Done with: Directory tree Block(s) 11 > Writing: Directory tree cleanup Start Block 34 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 34 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 35 > Total extents scheduled to be written = 36 > Total translation table size: 0 > Total rockridge attributes bytes: 2452 > Total directory bytes: 20954 > Path table size(bytes): 134 > Done with: The File(s) Block(s) 1 > Max brk space used 43000 > 36 extents written (0 MB) > __________________________ test_parse_rr_joliet_deep > ___________________________ > > tmp_path = > PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0') > > def test_parse_rr_joliet_deep(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'rrjolietdeep' > indir.mkdir() > outfile = str(indir)+'.iso' > newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' > / 'dir7' / 'dir8' > newdir.mkdir(parents=True) > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-J', '-o', str(outfile), > str(indir)]) > > > do_a_test(tmp_path, outfile, check_rr_joliet_deep) > > tests/integration/test_parse.py:1025: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:2776: in check_rr_joliet_deep > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, > data_length=2048, extent_location=28, rr=True, rr_nlinks=4, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a23f0440>, rr = > True > rr_nlinks = 4, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 3 == 4 > E + where 3 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a2445990>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a2445990> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a244f320>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a244f320> = <pycdlib.rockridge.RockRidge object at > 0x7f98a23f6a40>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a23f6a40> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a23f0440>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > 28 474 > 29 322 rr_moved > 30 216 dir8 > 31 318 dir1 > 32 318 dir2 > 33 318 dir3 > 34 318 dir4 > 35 318 dir5 > 36 318 dir6 > 37 330 dir7 > Cache hit for 'dir8/.' > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: Joliet Volume Descriptor Start Block 17 > Done with: Joliet Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 18 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 19 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 20 > Done with: Path table Block(s) 4 > Writing: Joliet path table Start Block 24 > Done with: Joliet path table Block(s) 4 > Writing: Directory tree Start Block 28 > Done with: Directory tree Block(s) 10 > Writing: Joliet directory tree Start Block 38 > Done with: Joliet directory tree Block(s) 9 > Writing: Directory tree cleanup Start Block 47 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 47 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 48 > Total extents scheduled to be written = 48 > Total translation table size: 0 > Total rockridge attributes bytes: 2167 > Total directory bytes: 18906 > Path table size(bytes): 122 > Done with: The File(s) Block(s) 0 > Max brk space used 43000 > 48 extents written (0 MB) > ________________________ test_parse_rr_hidden_relocated > ________________________ > > tmp_path = > PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0') > > def test_parse_rr_hidden_relocated(tmp_path): > # First set things up, and generate the ISO with genisoimage. > indir = tmp_path / 'rrdeep' > indir.mkdir() > outfile = str(indir)+'.iso' > newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' > / 'dir7' / 'dir8' / 'dir9' > newdir.mkdir(parents=True) > with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', > 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp: > outfp.write(b'foo\n') > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-hide-rr-moved', '-o', > str(outfile), str(indir)]) > > > do_a_test(tmp_path, outfile, check_rr_relocated_hidden) > > tests/integration/test_parse.py:2743: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:4098: in check_rr_relocated_hidden > internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, > data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, > rr_onetwelve=False) > tests/integration/test_common.py:289: in internal_check_root_dir_record > internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, > rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a3c0a440>, rr = > True > rr_nlinks = 4, xa = False, rr_onetwelve = False > > def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, > rr_onetwelve): > # The file identifier for the 'dotdot' directory entry should be the > byte 1. > assert(dotdot_record.file_ident == b'\x01') > # The 'dotdot' directory entry should be a directory. > assert(dotdot_record.isdir == True) > # The 'dotdot' directory record length should be exactly 34 with no > extensions. > if rr: > if rr_onetwelve: > expected_dr_len = 104 > else: > expected_dr_len = 102 > else: > expected_dr_len = 34 > > if xa: > expected_dr_len += 14 > > assert(dotdot_record.dr_len == expected_dr_len) > # The 'dotdot' directory record is not the root. > assert(dotdot_record.is_root == False) > # The 'dotdot' directory record should have no children. > assert(len(dotdot_record.children) == 0) > assert(dotdot_record.file_flags == 2) > > if rr: > assert(dotdot_record.rock_ridge._initialized == True) > assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) > if not rr_onetwelve: > assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) > assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags > == 0x81) > assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) > assert(dotdot_record.rock_ridge.dr_entries.px_record != None) > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == > 0o040555) > > > > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == > > rr_nlinks) > E assert 3 == 4 > E + where 3 = <pycdlib.rockridge.RRPXRecord object at > 0x7f98a3728d60>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f98a3728d60> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a2a79bc0>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f98a2a79bc0> = <pycdlib.rockridge.RockRidge object at > 0x7f98a23b9af0>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f98a23b9af0> = <pycdlib.dr.DirectoryRecord object at > 0x7f98a3c0a440>.rock_ridge > > tests/integration/test_common.py:416: AssertionError > ----------------------------- Captured stderr call > ----------------------------- > I: -input-charset not specified, using utf-8 (detected in locale settings) > genisoimage 1.1.11 (Linux) > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > Scanning > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9 > 23 476 > 24 322 .rr_moved > 25 330 dir8 > 26 320 dir9 > 27 318 dir1 > 28 318 dir2 > 29 318 dir3 > 30 318 dir4 > 31 318 dir5 > 32 318 dir6 > 33 330 dir7 > Cache hit for 'dir8/.' > Cache hit for 'dir9/.' > Cache hit for 'dir9/..' > 35 35 > /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo > Cache hit for 'dir1/.' > Cache hit for 'dir1/..' > Cache hit for 'dir2/.' > Cache hit for 'dir2/..' > Cache hit for 'dir3/.' > Cache hit for 'dir3/..' > Cache hit for 'dir4/.' > Cache hit for 'dir4/..' > Cache hit for 'dir5/.' > Cache hit for 'dir5/..' > Cache hit for 'dir6/.' > Cache hit for 'dir6/..' > Cache hit for 'dir7/.' > Cache hit for 'dir7/..' > Writing: Initial Padblock Start Block 0 > Done with: Initial Padblock Block(s) 16 > Writing: Primary Volume Descriptor Start Block 16 > Done with: Primary Volume Descriptor Block(s) 1 > Writing: End Volume Descriptor Start Block 17 > Done with: End Volume Descriptor Block(s) 1 > Writing: Version block Start Block 18 > Done with: Version block Block(s) 1 > Writing: Path table Start Block 19 > Done with: Path table Block(s) 4 > Writing: Directory tree Start Block 23 > Done with: Directory tree Block(s) 11 > Writing: Directory tree cleanup Start Block 34 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 34 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 35 > Total extents scheduled to be written = 36 > Total translation table size: 0 > Total rockridge attributes bytes: 2453 > Total directory bytes: 20956 > Path table size(bytes): 134 > Done with: The File(s) Block(s) 1 > Max brk space used 43000 > 36 extents written (0 MB) > =========================== short test summary info > ============================ > FAILED tests/integration/test_hybrid.py::test_hybrid_sevendeepdirs - assert > 2... > FAILED tests/integration/test_parse.py::test_parse_rr_deep_dir - assert 3 == 4 > FAILED tests/integration/test_parse.py::test_parse_rr_deep - assert 3 == 4 > FAILED tests/integration/test_parse.py::test_parse_rr_deep2 - assert 3 == 4 > FAILED tests/integration/test_parse.py::test_parse_rr_joliet_deep - assert 3 > ... > FAILED tests/integration/test_parse.py::test_parse_rr_hidden_relocated - > asse... > ========== 6 failed, 1696 passed, 16 skipped, 3 deselected in 14.56s > =========== > make[1]: *** [debian/rules:19: override_dh_auto_install] Error 1 The full build log is available from: http://qa-logs.debian.net/2024/02/24/python-pycdlib_1.12.0+ds1-5_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240224;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240224&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.