Prepare Linux delivery and correct lifecycle rendering build types
This commit is contained in:
@@ -52,14 +52,20 @@ class PackageContracts(unittest.TestCase):
|
||||
def test_tar_is_deterministic_with_executable_modes_and_unicode_paths(self):
|
||||
self.file('stage/arcadia-studio', b'not executable in this test')
|
||||
self.file('stage/arcadia-server', b'another inert fixture')
|
||||
self.file('stage/arcadia', b'inert source CLI fixture')
|
||||
self.file('stage/examples/arcadia', b'ordinary data with the same basename')
|
||||
self.file('stage/examples/temperature delta.txt', 'Δ\n'.encode())
|
||||
first = packaging.make_archive(self.root / 'stage', self.root / 'a.tar.gz', 'fixture')
|
||||
second = packaging.make_archive(self.root / 'stage', self.root / 'b.tar.gz', 'fixture')
|
||||
self.assertEqual(first['sha256'], second['sha256'])
|
||||
with tarfile.open(self.root / 'a.tar.gz') as archive:
|
||||
self.assertEqual(archive.getmember('fixture/arcadia-studio').mode, 0o755)
|
||||
self.assertEqual(archive.getmember('fixture/arcadia-server').mode, 0o755)
|
||||
self.assertEqual(archive.getmember('fixture/arcadia').mode, 0o755)
|
||||
self.assertEqual(archive.getmember('fixture/examples/arcadia').mode, 0o644)
|
||||
self.assertEqual(archive.extractfile('fixture/arcadia').read(), b'inert source CLI fixture')
|
||||
self.assertEqual(archive.getmember('fixture/examples/temperature delta.txt').mode, 0o644)
|
||||
self.assertEqual(len(archive.getmembers()), 3)
|
||||
self.assertEqual(len(archive.getmembers()), 5)
|
||||
|
||||
def test_archive_refuses_overwrite_and_case_collisions(self):
|
||||
self.file('stage/a', b'first')
|
||||
|
||||
Reference in New Issue
Block a user