I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.11 (Linux)
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1 Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8
23 474
24 322 rr_moved
25 216 dir8
26 318 dir1
27 318 dir2
28 318 dir3
29 318 dir4
30 318 dir5
31 318 dir6
32 330 dir7
Cache hit for 'dir8/.'
Cache hit for 'dir1/.'
Cache hit for 'dir1/..'
Cache hit for 'dir2/.'
Cache hit for 'dir2/..'
Cache hit for 'dir3/.'
Cache hit for 'dir3/..'
Cache hit for 'dir4/.'
Cache hit for 'dir4/..'
Cache hit for 'dir5/.'
Cache hit for 'dir5/..'
Cache hit for 'dir6/.'
Cache hit for 'dir6/..'
Cache hit for 'dir7/.'
Cache hit for 'dir7/..'
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 17
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 18
Done with: Version block Block(s) 1
Writing: Path table Start Block 19
Done with: Path table Block(s) 4
Writing: Directory tree Start Block 23
Done with: Directory tree Block(s) 10
Writing: Directory tree cleanup Start Block 33
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 33
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 34
Total extents scheduled to be written = 34
Total translation table size: 0
Total rockridge attributes bytes: 2167
Total directory bytes: 18906
Path table size(bytes): 122
Done with: The File(s) Block(s) 0
Max brk space used 43000
34 extents written (0 MB)
______________________________ test_parse_rr_deep ______________________________
tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0')
def test_parse_rr_deep(tmp_path):
# First set things up, and generate the ISO with genisoimage.
indir = tmp_path / 'rrdeep'
indir.mkdir()
outfile = str(indir)+'.iso'
newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8'
newdir.mkdir(parents=True)
with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'foo'), 'wb') as outfp:
outfp.write(b'foo\n')
subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad',
'-rational-rock', '-o', str(outfile), str(indir)])
do_a_test(tmp_path, outfile, check_rr_deep)
tests/integration/test_parse.py:794:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_parse.py:21: in do_a_test
check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2268: in check_rr_deep
internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False)
tests/integration/test_common.py:289: in internal_check_root_dir_record
internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f4a40>, rr = True
rr_nlinks = 4, xa = False, rr_onetwelve = False
def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve):
# The file identifier for the 'dotdot' directory entry should be the byte 1.
assert(dotdot_record.file_ident == b'\x01')
# The 'dotdot' directory entry should be a directory.
assert(dotdot_record.isdir == True)
# The 'dotdot' directory record length should be exactly 34 with no extensions.
if rr:
if rr_onetwelve:
expected_dr_len = 104
else:
expected_dr_len = 102
else:
expected_dr_len = 34
if xa:
expected_dr_len += 14
assert(dotdot_record.dr_len == expected_dr_len)
# The 'dotdot' directory record is not the root.
assert(dotdot_record.is_root == False)
# The 'dotdot' directory record should have no children.
assert(len(dotdot_record.children) == 0)
assert(dotdot_record.file_flags == 2)
if rr:
assert(dotdot_record.rock_ridge._initialized == True)
assert(dotdot_record.rock_ridge.dr_entries.sp_record == None)
if not rr_onetwelve:
assert(dotdot_record.rock_ridge.dr_entries.rr_record != None)
assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81)
assert(dotdot_record.rock_ridge.dr_entries.ce_record == None)
assert(dotdot_record.rock_ridge.dr_entries.px_record != None)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks)E assert 3 == 4
E + where 3 = <pycdlib.rockridge.RRPXRecord object at 0x7f98a2a5bb00>.posix_file_links
E + where <pycdlib.rockridge.RRPXRecord object at 0x7f98a2a5bb00> = <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a3c03320>.px_record
E + where <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a3c03320> = <pycdlib.rockridge.RockRidge object at 0x7f98a23b9770>.dr_entries
E + where <pycdlib.rockridge.RockRidge object at 0x7f98a23b9770> = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f4a40>.rock_ridge
tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call -----------------------------
I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.11 (Linux)
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1 Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2 Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8
23 474
24 322 rr_moved
25 332 dir8
26 318 dir1
27 318 dir2
28 318 dir3
29 318 dir4
30 318 dir5
31 318 dir6
32 330 dir7
Cache hit for 'dir8/.'
34 34 /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/foo
Cache hit for 'dir1/.'
Cache hit for 'dir1/..'
Cache hit for 'dir2/.'
Cache hit for 'dir2/..'
Cache hit for 'dir3/.'
Cache hit for 'dir3/..'
Cache hit for 'dir4/.'
Cache hit for 'dir4/..'
Cache hit for 'dir5/.'
Cache hit for 'dir5/..'
Cache hit for 'dir6/.'
Cache hit for 'dir6/..'
Cache hit for 'dir7/.'
Cache hit for 'dir7/..'
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 17
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 18
Done with: Version block Block(s) 1
Writing: Path table Start Block 19
Done with: Path table Block(s) 4
Writing: Directory tree Start Block 23
Done with: Directory tree Block(s) 10
Writing: Directory tree cleanup Start Block 33
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 33
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 34
Total extents scheduled to be written = 35
Total translation table size: 0
Total rockridge attributes bytes: 2242
Total directory bytes: 18906
Path table size(bytes): 122
Done with: The File(s) Block(s) 1
Max brk space used 43000
35 extents written (0 MB)
_____________________________ test_parse_rr_deep2 ______________________________
tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20')
def test_parse_rr_deep2(tmp_path):
# First set things up, and generate the ISO with genisoimage.
indir = tmp_path / 'rrdeep'
indir.mkdir()
outfile = str(indir)+'.iso'
newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' / 'dir9'
newdir.mkdir(parents=True)
with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp:
outfp.write(b'foo\n')
subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad',
'-rational-rock', '-o', str(outfile), str(indir)])
do_a_test(tmp_path, outfile, check_rr_deep2)
tests/integration/test_parse.py:808:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_parse.py:21: in do_a_test
check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2281: in check_rr_deep2
internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False)
tests/integration/test_common.py:289: in internal_check_root_dir_record
internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f6b40>, rr = True
rr_nlinks = 4, xa = False, rr_onetwelve = False
def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve):
# The file identifier for the 'dotdot' directory entry should be the byte 1.
assert(dotdot_record.file_ident == b'\x01')
# The 'dotdot' directory entry should be a directory.
assert(dotdot_record.isdir == True)
# The 'dotdot' directory record length should be exactly 34 with no extensions.
if rr:
if rr_onetwelve:
expected_dr_len = 104
else:
expected_dr_len = 102
else:
expected_dr_len = 34
if xa:
expected_dr_len += 14
assert(dotdot_record.dr_len == expected_dr_len)
# The 'dotdot' directory record is not the root.
assert(dotdot_record.is_root == False)
# The 'dotdot' directory record should have no children.
assert(len(dotdot_record.children) == 0)
assert(dotdot_record.file_flags == 2)
if rr:
assert(dotdot_record.rock_ridge._initialized == True)
assert(dotdot_record.rock_ridge.dr_entries.sp_record == None)
if not rr_onetwelve:
assert(dotdot_record.rock_ridge.dr_entries.rr_record != None)
assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81)
assert(dotdot_record.rock_ridge.dr_entries.ce_record == None)
assert(dotdot_record.rock_ridge.dr_entries.px_record != None)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks)E assert 3 == 4
E + where 3 = <pycdlib.rockridge.RRPXRecord object at 0x7f98a23f9a80>.posix_file_links
E + where <pycdlib.rockridge.RRPXRecord object at 0x7f98a23f9a80> = <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a23d7270>.px_record
E + where <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a23d7270> = <pycdlib.rockridge.RockRidge object at 0x7f98a23ba880>.dr_entries
E + where <pycdlib.rockridge.RockRidge object at 0x7f98a23ba880> = <pycdlib.dr.DirectoryRecord object at 0x7f98a45f6b40>.rock_ridge
tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call -----------------------------
I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.11 (Linux)
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1 Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9
23 474
24 322 rr_moved
25 330 dir8
26 320 dir9
27 318 dir1
28 318 dir2
29 318 dir3
30 318 dir4
31 318 dir5
32 318 dir6
33 330 dir7
Cache hit for 'dir8/.'
Cache hit for 'dir9/.'
Cache hit for 'dir9/..'
35 35 /tmp/pytest-of-user42/pytest-31/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo
Cache hit for 'dir1/.'
Cache hit for 'dir1/..'
Cache hit for 'dir2/.'
Cache hit for 'dir2/..'
Cache hit for 'dir3/.'
Cache hit for 'dir3/..'
Cache hit for 'dir4/.'
Cache hit for 'dir4/..'
Cache hit for 'dir5/.'
Cache hit for 'dir5/..'
Cache hit for 'dir6/.'
Cache hit for 'dir6/..'
Cache hit for 'dir7/.'
Cache hit for 'dir7/..'
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 17
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 18
Done with: Version block Block(s) 1
Writing: Path table Start Block 19
Done with: Path table Block(s) 4
Writing: Directory tree Start Block 23
Done with: Directory tree Block(s) 11
Writing: Directory tree cleanup Start Block 34
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 34
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 35
Total extents scheduled to be written = 36
Total translation table size: 0
Total rockridge attributes bytes: 2452
Total directory bytes: 20954
Path table size(bytes): 134
Done with: The File(s) Block(s) 1
Max brk space used 43000
36 extents written (0 MB)
__________________________ test_parse_rr_joliet_deep ___________________________
tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0')
def test_parse_rr_joliet_deep(tmp_path):
# First set things up, and generate the ISO with genisoimage.
indir = tmp_path / 'rrjolietdeep'
indir.mkdir()
outfile = str(indir)+'.iso'
newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8'
newdir.mkdir(parents=True)
subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad',
'-rational-rock', '-J', '-o', str(outfile), str(indir)])
do_a_test(tmp_path, outfile, check_rr_joliet_deep)
tests/integration/test_parse.py:1025:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_parse.py:21: in do_a_test
check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2776: in check_rr_joliet_deep
internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=28, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False)
tests/integration/test_common.py:289: in internal_check_root_dir_record
internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a23f0440>, rr = True
rr_nlinks = 4, xa = False, rr_onetwelve = False
def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve):
# The file identifier for the 'dotdot' directory entry should be the byte 1.
assert(dotdot_record.file_ident == b'\x01')
# The 'dotdot' directory entry should be a directory.
assert(dotdot_record.isdir == True)
# The 'dotdot' directory record length should be exactly 34 with no extensions.
if rr:
if rr_onetwelve:
expected_dr_len = 104
else:
expected_dr_len = 102
else:
expected_dr_len = 34
if xa:
expected_dr_len += 14
assert(dotdot_record.dr_len == expected_dr_len)
# The 'dotdot' directory record is not the root.
assert(dotdot_record.is_root == False)
# The 'dotdot' directory record should have no children.
assert(len(dotdot_record.children) == 0)
assert(dotdot_record.file_flags == 2)
if rr:
assert(dotdot_record.rock_ridge._initialized == True)
assert(dotdot_record.rock_ridge.dr_entries.sp_record == None)
if not rr_onetwelve:
assert(dotdot_record.rock_ridge.dr_entries.rr_record != None)
assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81)
assert(dotdot_record.rock_ridge.dr_entries.ce_record == None)
assert(dotdot_record.rock_ridge.dr_entries.px_record != None)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks)E assert 3 == 4
E + where 3 = <pycdlib.rockridge.RRPXRecord object at 0x7f98a2445990>.posix_file_links
E + where <pycdlib.rockridge.RRPXRecord object at 0x7f98a2445990> = <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a244f320>.px_record
E + where <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a244f320> = <pycdlib.rockridge.RockRidge object at 0x7f98a23f6a40>.dr_entries
E + where <pycdlib.rockridge.RockRidge object at 0x7f98a23f6a40> = <pycdlib.dr.DirectoryRecord object at 0x7f98a23f0440>.rock_ridge
tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call -----------------------------
I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.11 (Linux)
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8
28 474
29 322 rr_moved
30 216 dir8
31 318 dir1
32 318 dir2
33 318 dir3
34 318 dir4
35 318 dir5
36 318 dir6
37 330 dir7
Cache hit for 'dir8/.'
Cache hit for 'dir1/.'
Cache hit for 'dir1/..'
Cache hit for 'dir2/.'
Cache hit for 'dir2/..'
Cache hit for 'dir3/.'
Cache hit for 'dir3/..'
Cache hit for 'dir4/.'
Cache hit for 'dir4/..'
Cache hit for 'dir5/.'
Cache hit for 'dir5/..'
Cache hit for 'dir6/.'
Cache hit for 'dir6/..'
Cache hit for 'dir7/.'
Cache hit for 'dir7/..'
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: Joliet Volume Descriptor Start Block 17
Done with: Joliet Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 18
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 19
Done with: Version block Block(s) 1
Writing: Path table Start Block 20
Done with: Path table Block(s) 4
Writing: Joliet path table Start Block 24
Done with: Joliet path table Block(s) 4
Writing: Directory tree Start Block 28
Done with: Directory tree Block(s) 10
Writing: Joliet directory tree Start Block 38
Done with: Joliet directory tree Block(s) 9
Writing: Directory tree cleanup Start Block 47
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 47
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 48
Total extents scheduled to be written = 48
Total translation table size: 0
Total rockridge attributes bytes: 2167
Total directory bytes: 18906
Path table size(bytes): 122
Done with: The File(s) Block(s) 0
Max brk space used 43000
48 extents written (0 MB)
________________________ test_parse_rr_hidden_relocated ________________________
tmp_path = PosixPath('/tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0')
def test_parse_rr_hidden_relocated(tmp_path):
# First set things up, and generate the ISO with genisoimage.
indir = tmp_path / 'rrdeep'
indir.mkdir()
outfile = str(indir)+'.iso'
newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' / 'dir9'
newdir.mkdir(parents=True)
with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp:
outfp.write(b'foo\n')
subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad',
'-rational-rock', '-hide-rr-moved', '-o', str(outfile), str(indir)])
do_a_test(tmp_path, outfile, check_rr_relocated_hidden)
tests/integration/test_parse.py:2743:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/integration/test_parse.py:21: in do_a_test
check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:4098: in check_rr_relocated_hidden
internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False)
tests/integration/test_common.py:289: in internal_check_root_dir_record
internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dotdot_record = <pycdlib.dr.DirectoryRecord object at 0x7f98a3c0a440>, rr = True
rr_nlinks = 4, xa = False, rr_onetwelve = False
def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve):
# The file identifier for the 'dotdot' directory entry should be the byte 1.
assert(dotdot_record.file_ident == b'\x01')
# The 'dotdot' directory entry should be a directory.
assert(dotdot_record.isdir == True)
# The 'dotdot' directory record length should be exactly 34 with no extensions.
if rr:
if rr_onetwelve:
expected_dr_len = 104
else:
expected_dr_len = 102
else:
expected_dr_len = 34
if xa:
expected_dr_len += 14
assert(dotdot_record.dr_len == expected_dr_len)
# The 'dotdot' directory record is not the root.
assert(dotdot_record.is_root == False)
# The 'dotdot' directory record should have no children.
assert(len(dotdot_record.children) == 0)
assert(dotdot_record.file_flags == 2)
if rr:
assert(dotdot_record.rock_ridge._initialized == True)
assert(dotdot_record.rock_ridge.dr_entries.sp_record == None)
if not rr_onetwelve:
assert(dotdot_record.rock_ridge.dr_entries.rr_record != None)
assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81)
assert(dotdot_record.rock_ridge.dr_entries.ce_record == None)
assert(dotdot_record.rock_ridge.dr_entries.px_record != None)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555)
assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks)E assert 3 == 4
E + where 3 = <pycdlib.rockridge.RRPXRecord object at 0x7f98a3728d60>.posix_file_links
E + where <pycdlib.rockridge.RRPXRecord object at 0x7f98a3728d60> = <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a2a79bc0>.px_record
E + where <pycdlib.rockridge.RockRidgeEntries object at 0x7f98a2a79bc0> = <pycdlib.rockridge.RockRidge object at 0x7f98a23b9af0>.dr_entries
E + where <pycdlib.rockridge.RockRidge object at 0x7f98a23b9af0> = <pycdlib.dr.DirectoryRecord object at 0x7f98a3c0a440>.rock_ridge
tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call -----------------------------
I: -input-charset not specified, using utf-8 (detected in locale settings) genisoimage 1.1.11 (Linux)
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8
Scanning /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9
23 476
24 322 .rr_moved
25 330 dir8
26 320 dir9
27 318 dir1
28 318 dir2
29 318 dir3
30 318 dir4
31 318 dir5
32 318 dir6
33 330 dir7
Cache hit for 'dir8/.'
Cache hit for 'dir9/.'
Cache hit for 'dir9/..'
35 35 /tmp/pytest-of-user42/pytest-31/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo
Cache hit for 'dir1/.'
Cache hit for 'dir1/..'
Cache hit for 'dir2/.'
Cache hit for 'dir2/..'
Cache hit for 'dir3/.'
Cache hit for 'dir3/..'
Cache hit for 'dir4/.'
Cache hit for 'dir4/..'
Cache hit for 'dir5/.'
Cache hit for 'dir5/..'
Cache hit for 'dir6/.'
Cache hit for 'dir6/..'
Cache hit for 'dir7/.'
Cache hit for 'dir7/..'
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 17
Done with: End Volume Descriptor Block(s) 1
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:38:13 |
Calls: | 6,666 |
Files: | 12,213 |
Messages: | 5,335,958 |