Integrate delivered HQ memory, finite physical convoy and RHS WCS dependencies
This commit is contained in:
@@ -128,7 +128,13 @@ class PackedChatArchiveTests(unittest.TestCase):
|
||||
runtime=self.session/'input/addons';candidate=self.fixture.root/'chat-candidate';candidate.mkdir()
|
||||
for project in archiver.ADDON_ORDER:
|
||||
folder=runtime/project;folder.mkdir(exist_ok=True)
|
||||
(folder/'addon.gproj').write_bytes((runner.ROOT/'addons'/project/'addon.gproj').read_bytes())
|
||||
# This schema-2 archive represents the frozen vanilla-only closure. Current
|
||||
# source projects may add external dependencies that this payload does not carry.
|
||||
name,guid,dependencies=runner.PACKED_PROJECTS[project]
|
||||
deps=[runner.PACKED_BASE]+[runner.PACKED_PROJECTS[key][1] for key in dependencies]
|
||||
declaration=f'GameProject {{ ID "{name}" GUID "{guid}" TITLE "Synthetic {project}" Dependencies {{ '
|
||||
declaration+=' '.join('"'+guid+'"' for guid in deps)+' } }\n'
|
||||
(folder/'addon.gproj').write_text(declaration)
|
||||
(folder/'data.pak').write_bytes(('fixture-pak-'+project).encode())
|
||||
(folder/'resourceDatabase.rdb').write_bytes(('fixture-db-'+project).encode())
|
||||
shutil.copytree(folder,candidate/project)
|
||||
@@ -180,6 +186,12 @@ class PackedChatArchiveTests(unittest.TestCase):
|
||||
path=self.packed['input']/'ai/addon.gproj';path.write_bytes((self.packed['input']/'core/addon.gproj').read_bytes())
|
||||
data=path.read_bytes();self.meta['artifacts']['ai/addon.gproj']={'bytes':len(data),'sha256':archiver.digest(data)};self.update_metadata()
|
||||
with self.assertRaises(ValueError):archiver.inspect(self.session)
|
||||
def test_external_dependency_cannot_expand_frozen_packed_closure(self):
|
||||
path=self.packed['input']/'ai/addon.gproj'
|
||||
path.write_text(path.read_text().replace('Dependencies {','Dependencies { "595F2BF2F44836FB"'))
|
||||
data=path.read_bytes();self.meta['artifacts']['ai/addon.gproj']={'bytes':len(data),'sha256':archiver.digest(data)}
|
||||
self.update_metadata()
|
||||
with self.assertRaisesRegex(ValueError,'identity or exact declared dependencies'):archiver.inspect(self.session)
|
||||
def test_each_companion_loaded_mount_and_database_evidence_required(self):
|
||||
for fragment in ("under name ERR_Ai", "name=ERR_Intel path=", "guid: '9AAEE9041D79809E'", 'header verified project=chat', 'local participant verified project=chat'):
|
||||
self.reseal_console(self.content().replace(fragment,'missing'))
|
||||
|
||||
Reference in New Issue
Block a user