Source: python-pycdlib Version: 1.12.0+ds1-3 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20211228 ftbfs-bookworm
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_USE_PY2=yes > + PKGOS_USE_PY3=yes > + PKGOS_IN_TMP=no > + PKGOS_USE_PY2=no > + shift > + PKGOS_IN_TMP=yes > + shift > + dpkg-parsechangelog -SSource > + SRC_PKG_NAME=python-pycdlib > + echo python-pycdlib > + sed s/python-// > + PY_MODULE_NAME=pycdlib > + [ no = yes ] > + [ yes = yes ] > + py3versions -vr > + PYTHON3S=3.10 3.9 > + [ no = yes ] > + [ yes = yes ] > + [ yes = yes ] > + TARGET_DIR=tmp > + pwd > + python3.10 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/command/install.py:34: > SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and > pip and other standards-based tools. > warnings.warn( > running build > running build_py > creating build > creating build/lib > creating build/lib/pycdlib > copying pycdlib/__init__.py -> build/lib/pycdlib > copying pycdlib/dates.py -> build/lib/pycdlib > copying pycdlib/backport_functools.py -> build/lib/pycdlib > copying pycdlib/eltorito.py -> build/lib/pycdlib > copying pycdlib/pycdlibexception.py -> build/lib/pycdlib > copying pycdlib/udf.py -> build/lib/pycdlib > copying pycdlib/rockridge.py -> build/lib/pycdlib > copying pycdlib/pycdlib.py -> build/lib/pycdlib > copying pycdlib/isohybrid.py -> build/lib/pycdlib > copying pycdlib/headervd.py -> build/lib/pycdlib > copying pycdlib/path_table_record.py -> build/lib/pycdlib > copying pycdlib/facade.py -> build/lib/pycdlib > copying pycdlib/dr.py -> build/lib/pycdlib > copying pycdlib/inode.py -> build/lib/pycdlib > copying pycdlib/pycdlibio.py -> build/lib/pycdlib > copying pycdlib/utils.py -> build/lib/pycdlib > running build_scripts > creating build/scripts-3.10 > copying and adjusting tools/pycdlib-explorer -> build/scripts-3.10 > copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.10 > copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.10 > changing mode of build/scripts-3.10/pycdlib-explorer from 644 to 755 > changing mode of build/scripts-3.10/pycdlib-extract-files from 644 to 755 > changing mode of build/scripts-3.10/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/__init__.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/backport_functools.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/udf.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/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/headervd.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/facade.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 > copying build/lib/pycdlib/inode.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/utils.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py > to __init__.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to > dates.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py > to backport_functools.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py > to eltorito.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py > to pycdlibexception.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to > udf.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py > to rockridge.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py > to pycdlib.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py > to isohybrid.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py > to headervd.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py > to path_table_record.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py > to facade.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to > dr.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to > inode.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py > to pycdlibio.cpython-310.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to > utils.cpython-310.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.10/pycdlib-genisoimage -> > /<<PKGBUILDDIR>>/debian/tmp/usr/bin > copying build/scripts-3.10/pycdlib-extract-files -> > /<<PKGBUILDDIR>>/debian/tmp/usr/bin > copying build/scripts-3.10/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.9 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/command/install.py:34: > SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and > pip and other standards-based tools. > warnings.warn( > running build > running build_py > running build_scripts > creating build/scripts-3.9 > copying and adjusting tools/pycdlib-explorer -> build/scripts-3.9 > copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.9 > copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.9 > changing mode of build/scripts-3.9/pycdlib-explorer from 644 to 755 > changing mode of build/scripts-3.9/pycdlib-extract-files from 644 to 755 > changing mode of build/scripts-3.9/pycdlib-genisoimage from 644 to 755 > running install_lib > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py > to __init__.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to > dates.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py > to backport_functools.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py > to eltorito.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py > to pycdlibexception.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to > udf.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py > to rockridge.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py > to pycdlib.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py > to isohybrid.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py > to headervd.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py > to path_table_record.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py > to facade.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to > dr.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to > inode.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py > to pycdlibio.cpython-39.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to > utils.cpython-39.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 > + pwd > + [ -d /<<PKGBUILDDIR>>/debian/python-pycdlib/usr/bin ] > set -e ; set -x ; for pyvers in 3.10 3.9; do \ > PATH=$PATH:/<<PKGBUILDDIR>>/debian/tmp/usr/bin > PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > python$pyvers -m pytest tests ; \ > 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.10 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini > collected 1721 items > > 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%] > ...................................F.s............F.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 > ___________________________ > > tmpdir = local('/tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0') > > def test_hybrid_sevendeepdirs(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('sevendeepdirs') > outfile = str(indir)+'.iso' > numdirs = 8 > x = indir > for i in range(1, 1+numdirs): > x = x.mkdir('dir%d' % i) > 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:1622: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c86f94640>, 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 > 0x7f9c87d34f90>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c87d34f90> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c876f1dd0>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c876f1dd0> = <pycdlib.rockridge.RockRidge object at > 0x7f9c8675f140>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c8675f140> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c86f94640>.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-11/test_hybrid_sevendeepdirs0/sevendeepdirs > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/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 > ____________________________ > > tmpdir = local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0') > > def test_parse_rr_deep_dir(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('rrdeep') > outfile = str(indir)+'.iso' > > indir.mkdir('dir1').mkdir('dir2').mkdir('dir3').mkdir('dir4').mkdir('dir5').mkdir('dir6').mkdir('dir7').mkdir('dir8') > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmpdir, outfile, check_rr_deep_dir) > > tests/integration/test_parse.py:706: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c87e23d40>, 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 > 0x7f9c88267fb0>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c88267fb0> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b7b110>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b7b110> = <pycdlib.rockridge.RockRidge object at > 0x7f9c87e35c40>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c87e35c40> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c87e23d40>.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-11/test_parse_rr_deep_dir0/rrdeep > Scanning /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/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 > ______________________________ > > tmpdir = local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0') > > def test_parse_rr_deep(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('rrdeep') > outfile = str(indir)+'.iso' > > indir.mkdir('dir1').mkdir('dir2').mkdir('dir3').mkdir('dir4').mkdir('dir5').mkdir('dir6').mkdir('dir7').mkdir('dir8') > 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(tmpdir, outfile, check_rr_deep) > > tests/integration/test_parse.py:718: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c86b14140>, 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 > 0x7f9c87ce7e20>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c87ce7e20> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b816f0>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b816f0> = <pycdlib.rockridge.RockRidge object at > 0x7f9c8675f5a0>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c8675f5a0> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c86b14140>.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-11/test_parse_rr_deep0/rrdeep > Scanning /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1 > Scanning /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/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-11/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 > ______________________________ > > tmpdir = local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20') > > def test_parse_rr_deep2(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('rrdeep') > outfile = str(indir)+'.iso' > > indir.mkdir('dir1').mkdir('dir2').mkdir('dir3').mkdir('dir4').mkdir('dir5').mkdir('dir6').mkdir('dir7').mkdir('dir8').mkdir('dir9') > 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(tmpdir, outfile, check_rr_deep2) > > tests/integration/test_parse.py:730: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c86b14d40>, 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 > 0x7f9c87015b20>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c87015b20> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c879ce090>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c879ce090> = <pycdlib.rockridge.RockRidge object at > 0x7f9c86b3e030>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c86b3e030> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c86b14d40>.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-11/test_parse_rr_deep20/rrdeep > Scanning /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1 > Scanning /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > Scanning > /tmp/pytest-of-user42/pytest-11/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-11/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 > ___________________________ > > tmpdir = local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0') > > def test_parse_rr_joliet_deep(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('rrjolietdeep') > outfile = str(indir)+'.iso' > > indir.mkdir('dir1').mkdir('dir2').mkdir('dir3').mkdir('dir4').mkdir('dir5').mkdir('dir6').mkdir('dir7').mkdir('dir8') > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-J', '-o', str(outfile), > str(indir)]) > > > do_a_test(tmpdir, outfile, check_rr_joliet_deep) > > tests/integration/test_parse.py:923: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c87716840>, 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 > 0x7f9c869d7c40>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c869d7c40> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86c092d0>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86c092d0> = <pycdlib.rockridge.RockRidge object at > 0x7f9c86b2f760>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c86b2f760> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c87716840>.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-11/test_parse_rr_joliet_deep0/rrjolietdeep > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/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_duplicate_rrmoved_name > _______________________ > > tmpdir = > local('/tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0') > > def test_parse_duplicate_rrmoved_name(tmpdir): > iso = pycdlib.PyCdlib() > iso.new(rock_ridge='1.09') > > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('eltoritonofiles') > outfile = str(indir)+'.iso' > fdir = > indir.mkdir('A').mkdir('B').mkdir('C').mkdir('D').mkdir('E').mkdir('F') > fdir.mkdir('G').mkdir('1') > fdir.mkdir('H').mkdir('1') > with open(os.path.join(str(indir), 'A', 'B', 'C', 'D', 'E', 'F', 'G', > '1', 'first'), 'wb') as outfp: > outfp.write(b'first\n') > with open(os.path.join(str(indir), 'A', 'B', 'C', 'D', 'E', 'F', 'H', > '1', 'second'), 'wb') as outfp: > outfp.write(b'second\n') > > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmpdir, outfile, check_rr_two_dirs_same_level) > > tests/integration/test_parse.py:2305: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:3567: in check_rr_two_dirs_same_level > 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 0x7f9c86b9a340>, 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 > 0x7f9c86aad260>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c86aad260> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c870292d0>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c870292d0> = <pycdlib.rockridge.RockRidge object at > 0x7f9c86c04a50>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c86c04a50> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c86b9a340>.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-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H/1 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G/1 > Using 1000 for ./rr_moved/1 (1) > 23 468 > 24 432 rr_moved > 25 336 1 > 26 336 1 > 27 312 A > 28 312 B > 29 312 C > 30 312 D > 31 312 E > 32 420 F > 33 324 H > 34 324 G > Cache hit for '1/.' > 36 36 > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H/1/second > Cache hit for '1/.' > 37 37 > /tmp/pytest-of-user42/pytest-11/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G/1/first > Cache hit for 'A/.' > Cache hit for 'A/..' > Cache hit for 'B/.' > Cache hit for 'B/..' > Cache hit for 'C/.' > Cache hit for 'C/..' > Cache hit for 'D/.' > Cache hit for 'D/..' > Cache hit for 'E/.' > Cache hit for 'E/..' > Cache hit for 'F/.' > Cache hit for 'F/..' > Cache hit for 'H/.' > Cache hit for 'H/..' > Cache hit for 'G/.' > Cache hit for 'G/..' > 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) 12 > Writing: Directory tree cleanup Start Block 35 > Done with: Directory tree cleanup Block(s) 0 > Writing: Extension record Start Block 35 > Done with: Extension record Block(s) 1 > Writing: The File(s) Start Block 36 > Total extents scheduled to be written = 38 > Total translation table size: 0 > Total rockridge attributes bytes: 2810 > Total directory bytes: 22996 > Path table size(bytes): 128 > Done with: The File(s) Block(s) 2 > Max brk space used 43000 > 38 extents written (0 MB) > _______________________ test_parse_rr_deep_weird_layout > ________________________ > > tmpdir = > local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0') > > def test_parse_rr_deep_weird_layout(tmpdir): > indir = tmpdir.mkdir('rrdeepweird') > outfile = str(indir) + '.iso' > absimp = > indir.mkdir('astroid').mkdir('astroid').mkdir('tests').mkdir('testdata').mkdir('python3').mkdir('data').mkdir('absimp') > sidepackage = absimp.mkdir('sidepackage') > with open(os.path.join(str(absimp), 'string.py'), 'wb') as outfp: > outfp.write(b'from __future__ import absolute_import, > print_functino\nimport string\nprint(string)\n') > with open(os.path.join(str(sidepackage), '__init__.py'), 'wb') as > outfp: > outfp.write(b'"""a side package with nothing in it\n"""\n') > > subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', > '-no-pad', > '-rational-rock', '-o', str(outfile), str(indir)]) > > > do_a_test(tmpdir, outfile, check_rr_deep_weird_layout) > > tests/integration/test_parse.py:2495: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/integration/test_parse.py:21: in do_a_test > check_func(iso, os.stat(str(outfile)).st_size) > tests/integration/test_common.py:3986: in check_rr_deep_weird_layout > 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 0x7f9c871d2440>, 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 > 0x7f9c882d4d10>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c882d4d10> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c87173480>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c87173480> = <pycdlib.rockridge.RockRidge object at > 0x7f9c8724fbc0>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c8724fbc0> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c871d2440>.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-11/test_parse_rr_deep_weird_layou0/rrdeepweird > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/sidepackage > 23 480 > 24 334 rr_moved > 25 346 sidepackage > 26 324 astroid > 27 320 astroid > 28 326 tests > 29 324 testdata > 30 318 python3 > 31 322 data > 32 468 absimp > Cache hit for 'sidepackage/.' > 34 34 > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/sidepackage/__init__.py > Cache hit for 'astroid/.' > Cache hit for 'astroid/..' > Cache hit for 'astroid/.' > Cache hit for 'astroid/..' > Cache hit for 'tests/.' > Cache hit for 'tests/..' > Cache hit for 'testdata/.' > Cache hit for 'testdata/..' > Cache hit for 'python3/.' > Cache hit for 'python3/..' > Cache hit for 'data/.' > Cache hit for 'data/..' > Cache hit for 'absimp/.' > Cache hit for 'absimp/..' > 35 35 > /tmp/pytest-of-user42/pytest-11/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/string.py > 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 = 36 > Total translation table size: 0 > Total rockridge attributes bytes: 2361 > Total directory bytes: 18912 > Path table size(bytes): 146 > Done with: The File(s) Block(s) 2 > Max brk space used 43000 > 36 extents written (0 MB) > ________________________ test_parse_rr_hidden_relocated > ________________________ > > tmpdir = > local('/tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0') > > def test_parse_rr_hidden_relocated(tmpdir): > # First set things up, and generate the ISO with genisoimage. > indir = tmpdir.mkdir('rrdeep') > outfile = str(indir)+'.iso' > > indir.mkdir('dir1').mkdir('dir2').mkdir('dir3').mkdir('dir4').mkdir('dir5').mkdir('dir6').mkdir('dir7').mkdir('dir8').mkdir('dir9') > 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(tmpdir, outfile, check_rr_relocated_hidden) > > tests/integration/test_parse.py:2516: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > 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 0x7f9c86fe9040>, 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 > 0x7f9c87d168e0>.posix_file_links > E + where <pycdlib.rockridge.RRPXRecord object at > 0x7f9c87d168e0> = <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b63060>.px_record > E + where <pycdlib.rockridge.RockRidgeEntries object at > 0x7f9c86b63060> = <pycdlib.rockridge.RockRidge object at > 0x7f9c871e6ab0>.dr_entries > E + where <pycdlib.rockridge.RockRidge object at > 0x7f9c871e6ab0> = <pycdlib.dr.DirectoryRecord object at > 0x7f9c86fe9040>.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-11/test_parse_rr_hidden_relocated0/rrdeep > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 > Scanning > /tmp/pytest-of-user42/pytest-11/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 > Scanning > /tmp/pytest-of-user42/pytest-11/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-11/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_duplicate_rrmoved_name - > a... > FAILED tests/integration/test_parse.py::test_parse_rr_deep_weird_layout - > ass... > FAILED tests/integration/test_parse.py::test_parse_rr_hidden_relocated - > asse... > ================== 8 failed, 1697 passed, 16 skipped in 9.23s > ================== > make[1]: *** [debian/rules:19: override_dh_auto_install] Error 1 The full build log is available from: http://qa-logs.debian.net/2021/12/28/python-pycdlib_1.12.0+ds1-3_unstable.log 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 marking 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.