P08-03: 配置の通常操作受入
This commit is contained in:
+26
@@ -241,6 +241,24 @@ def make(base, source, checker):
|
||||
formal = folder/'formal'
|
||||
formal.mkdir()
|
||||
for member in checker.MEMBERS: (formal/member).write_text('synthetic '+member+'\n')
|
||||
shutil.copytree(formal, folder/'formal.bak')
|
||||
shutil.copyfile(formal/'manifest.json', folder/'formal-slot-metadata.json')
|
||||
profile = '/synthetic-private-profile'
|
||||
absolute = profile+'/saves/manual_ui'
|
||||
put(folder/'formal-export.json', {'pid':pids[0], 'requested_path':'user://saves/manual_ui',
|
||||
'absolute_path':absolute, 'user_data_dir':profile,
|
||||
'packages':{name:{'present':True, 'source_path':absolute+suffix,
|
||||
'members':{n:{'sha256':sha(folder/name/n),'bytes':(folder/name/n).stat().st_size} for n in checker.MEMBERS}}
|
||||
for name,suffix in [('formal',''),('formal.bak','.bak')]},
|
||||
'slot_metadata':{'file':'formal-slot-metadata.json','sha256':sha(formal/'manifest.json')}})
|
||||
for role,pid,op in [('writer',pids[0],'save'),('reader',pids[1],'load')]:
|
||||
stem = role+'-save-result-0001'
|
||||
(folder/(stem+'.var')).write_bytes(b'synthetic raw Dictionary stand-in')
|
||||
put(folder/(stem+'.json'), {'pid':pid,'operation':'runtime_operation',
|
||||
'requested_path':'user://saves/manual_ui','absolute_path':absolute,'user_data_dir':profile,
|
||||
'result':typed({'ok':True,'operation':op,'save_path':'user://saves/manual_ui'}),
|
||||
'raw_sha256':sha(folder/(stem+'.var'))})
|
||||
put(folder/(role+'-save-results.json'), {'pid':pid,'records':[stem]})
|
||||
put(folder/'save.json', {'members': {n: sha(formal/n) for n in checker.MEMBERS},
|
||||
'pid': pids[0], 'cell': target, 'instance_id': 'f4'})
|
||||
row = {'id': 'resume_overlap', 'kind': 'build', 'position': position(target),
|
||||
@@ -259,6 +277,14 @@ def make(base, source, checker):
|
||||
pair('pair', [101, 102], 'handler')
|
||||
pair('os-pair', [201, 202], 'native_os')
|
||||
shutil.copytree(out/'pair/formal', out/'pair/initial-formal')
|
||||
initial = copy.deepcopy(json.loads((out/'pair/formal-export.json').read_text()))
|
||||
initial.update(requested_path='user://saves/p08_initial',absolute_path='/synthetic-private-profile/saves/p08_initial')
|
||||
initial['packages'] = {'initial-formal':initial['packages']['formal'],
|
||||
'initial-formal.bak':{'present':False,'source_path':initial['absolute_path']+'.bak','members':{}}}
|
||||
initial['packages']['initial-formal']['source_path'] = initial['absolute_path']
|
||||
shutil.copyfile(out/'pair/initial-formal/manifest.json',out/'pair/initial-formal-slot-metadata.json')
|
||||
initial['slot_metadata']['file'] = 'initial-formal-slot-metadata.json'
|
||||
put(out/'pair/initial-formal-export.json',initial)
|
||||
for role, pid in (('writer',201),('reader',202)):
|
||||
prefix = 'os-runs/'+role+'/'
|
||||
folder = out/prefix
|
||||
|
||||
Reference in New Issue
Block a user