• Bug#1002789: marked as done (python-pycdlib: FTBFS: failed tests) (2/3)

    From Debian Bug Tracking System@21:1/5 to All on Tue Jan 23 17:30:02 2024
    [continued from previous message]

    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')

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to Lucas Nussbaum on Sun Mar 3 23:40:01 2024
    [continued from previous message]

    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')

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)