Clear windows branch; preserve previous contents in win-old
This commit is contained in:
1 parent
f0c881985b
commit
73994d4634
311 files changed
-57018
No files matched your search
@@ -1,53 +0,0 @@
|
||||
"""Validate every captured M launch and spatial block; all allocations stay private."""
|
||||
import argparse
|
||||
import contextlib
|
||||
import json
|
||||
import pathlib
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
from m_replay_validate import LAYERS, validate
|
||||
|
||||
|
||||
def main(args):
|
||||
args.output_dir.mkdir(parents=True, exist_ok=True)
|
||||
summary = {'passed': False, 'captured_outputs': True, 'exact': args.exact, 'launches': []}
|
||||
status = 1
|
||||
try:
|
||||
captures = sorted(args.capture_dir.glob('replay-*-rrlite_*_4x4'))
|
||||
if not captures:
|
||||
raise RuntimeError('No audited M captures were found')
|
||||
for capture in captures:
|
||||
layer = capture.name.split('rrlite_', 1)[1][:-4]
|
||||
if layer not in LAYERS:
|
||||
raise RuntimeError(f'Unknown captured M layer: {layer}')
|
||||
logfile = args.output_dir / (capture.name + '.log')
|
||||
with logfile.open('w', encoding='utf-8') as output, contextlib.redirect_stdout(output):
|
||||
validate(layer, capture, capture / 'gpu-output', args.blocks, True, args.exact)
|
||||
print(capture.name + ' ' + logfile.read_text().splitlines()[0], flush=True)
|
||||
summary['launches'].append({'capture': capture.name, 'layer': layer, 'passed': True})
|
||||
present = {item['layer'] for item in summary['launches']}
|
||||
if present != set(LAYERS):
|
||||
raise RuntimeError('Capture set does not contain all five M layers')
|
||||
summary['passed'] = True
|
||||
print(f'PASS M_TEMPORAL_REFERENCE launches={len(captures)} blocks={args.blocks} exact={int(args.exact)}', flush=True)
|
||||
status = 0
|
||||
except Exception as error:
|
||||
summary['error'] = str(error)
|
||||
summary['failed_capture'] = capture.name if 'capture' in locals() else None
|
||||
traceback.print_exc()
|
||||
finally:
|
||||
(args.output_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n', encoding='utf-8')
|
||||
return status
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--capture-dir', type=pathlib.Path, required=True)
|
||||
parser.add_argument('--output-dir', type=pathlib.Path, required=True)
|
||||
parser.add_argument('--blocks', type=int, default=10000)
|
||||
parser.add_argument('--exact', action='store_true')
|
||||
args = parser.parse_args()
|
||||
if args.blocks < 1:
|
||||
parser.error('--blocks must be positive')
|
||||
sys.exit(main(args))
|
||||
Reference in new issue
Block a user