mirror of
https://github.com/horizon-rust/horizon.git
synced 2026-11-07 02:56:17 -10:00
Pass the probe name where the harness codemod missed it
block_survival and state_provider hashed the name as an artifact instead of passing it; decorated_region runs chunk_dump through chunk_generation's binary. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
4a922a5772
commit
38bce65c21
3 files changed
+5
-5
No files matched your search
@@ -240,7 +240,7 @@ def main():
|
||||
metadata=json.loads(subprocess.check_output(['cargo','metadata','--no-deps','--format-version','1'],cwd=lab.ROOT,text=True))
|
||||
binary=Path(metadata['target_directory'])/'release/examples'/('probe.exe' if os.name=='nt' else 'probe')
|
||||
base.ensure_sources_unchanged(sources,tested_sources)
|
||||
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,'block_survival_fixture',*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':{'supported_blocks':len(definitions),'supported_states':sum(state['id'] in definitions for state in facts['states']),'survival_rules':len(set(definitions.values())),'survival_rule_kinds':len({rule.split(':',1)[0] for rule in definitions.values()}),'fluid_tag_files':len(fluid_tags),'fixtures':fixture_count},'outputs':{}}
|
||||
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':{'supported_blocks':len(definitions),'supported_states':sum(state['id'] in definitions for state in facts['states']),'survival_rules':len(set(definitions.values())),'survival_rule_kinds':len({rule.split(':',1)[0] for rule in definitions.values()}),'fluid_tag_files':len(fluid_tags),'fixtures':fixture_count},'outputs':{}}
|
||||
save_checkpoint(checkpoint_path,checkpoint)
|
||||
print('Verified inputs and compiled executables checkpointed',flush=True)
|
||||
def stage(name, action):
|
||||
@@ -251,7 +251,7 @@ def main():
|
||||
checkpoint['outputs'][name]=lab.digest(output,'sha256')
|
||||
save_checkpoint(checkpoint_path,checkpoint)
|
||||
print(f'{name}: completed output checkpointed',flush=True)
|
||||
stage('rust',lambda:run([checkpoint['binary'],build],'rust'))
|
||||
stage('rust',lambda:run([checkpoint['binary'],'block_survival_fixture',build],'rust'))
|
||||
references=[]
|
||||
for side,jar in jars.items():
|
||||
stage(side,lambda:java(side,side,build))
|
||||
|
||||
@@ -66,7 +66,7 @@ def build_dir():
|
||||
|
||||
|
||||
def vanilla_order(binary, cx, cz, view):
|
||||
out = subprocess.run([str(binary), str(cg.RESOURCES), '0', 'overworld'], capture_output=True, text=True, check=True,
|
||||
out = subprocess.run([str(binary), 'chunk_dump', str(cg.RESOURCES), '0', 'overworld'], capture_output=True, text=True, check=True,
|
||||
env=dict(os.environ, HORIZON_LIST_ORDER=f'{cx},{cz},{view}'), cwd=lab.ROOT).stdout
|
||||
return [tuple(map(int, line.split())) for line in out.splitlines()]
|
||||
|
||||
|
||||
@@ -376,7 +376,7 @@ def main():
|
||||
binary=Path(metadata['target_directory'])/'release/examples'/('probe.exe' if os.name=='nt' else 'probe')
|
||||
counts={'block_states':len(facts['states']),'blocks':len(facts['defaults']),'integer_properties':len(facts['integers']),'codec_inputs':fixture_count,'provider_types':10,'named_providers':len(catalog_resources),'rule_predicate_types':16,'survival_supported_blocks':len(survival_rules),'survival_supported_states':sum(s['id'] in survival_rules for s in facts['states']),'support_cached_states':len(support_states),'support_dynamic_states':len(facts['states'])-len(support_states),'biomes':len(biomes),'biome_tag_files':len(biome_tags),'fluid_tag_files':len(fluid_tags),'bundled_provider_definitions':len(provider_resources),'block_tag_files':len(tags),'requested_samples':requested_samples}
|
||||
base.ensure_sources_unchanged(sources,tested_sources)
|
||||
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,'state_provider_fixture',*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':counts,'outputs':{}}
|
||||
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':counts,'outputs':{}}
|
||||
survival.save_checkpoint(checkpoint_path,checkpoint)
|
||||
print('Verified inputs and compiled executables checkpointed',flush=True)
|
||||
def stage(name,action):
|
||||
@@ -386,7 +386,7 @@ def main():
|
||||
checkpoint['outputs'][name]=lab.digest(output,'sha256')
|
||||
survival.save_checkpoint(checkpoint_path,checkpoint)
|
||||
print(f'{name}: completed output checkpointed',flush=True)
|
||||
stage('rust',lambda:run([checkpoint['binary'],build],'rust'));references=[]
|
||||
stage('rust',lambda:run([checkpoint['binary'],'state_provider_fixture',build],'rust'));references=[]
|
||||
for side,jar in jars.items():
|
||||
stage(side,lambda:java(side,side,build));reference=build/f'{side}.txt';matched=base.compare(reference,build/'rust.txt')
|
||||
references.append({'side':side,'jar_sha256':lab.digest(jar,'sha256'),'output_sha256':lab.digest(reference,'sha256'),'matched_output_lines':matched})
|
||||
|
||||
Reference in new issue
Block a user