mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 07:33:45 -06:00
feat: add the real-condition campaign runner
campaign.py takes buildbot nightlies (or a build of the pinned commit), the test content of tests/campaign/content.yml through romfetch, and runs core_probe for the files, boot, path, alias, variants and bench checks. A fixed rule table settles hle_fallback, required, path and aliases with the record ids as evidence, the rest goes to measurements/findings.jsonl. Resumable state, load, disk and budget guards, retries, content reference counting with an LRU cap, and an autorun job after the nightly.
This commit is contained in:
1 parent
faa79c5920
commit
ee7319d838
16 files changed
+2990
-11
No files matched your search
@@ -601,6 +601,8 @@ def _measurement_errors(root: Path | None = None) -> list[str]:
|
||||
root = root or ROOT
|
||||
validator = _validator("core-probe-record.schema.json")
|
||||
out: list[str] = []
|
||||
campaign = {mr.records_path(name): _validator(schema)
|
||||
for name, (_, schema) in mr.CAMPAIGN_FILES.items()}
|
||||
for path, file in sorted(mr.tree_files(root).items()):
|
||||
if not path.endswith(".jsonl"):
|
||||
continue
|
||||
@@ -610,10 +612,12 @@ def _measurement_errors(root: Path | None = None) -> list[str]:
|
||||
except json.JSONDecodeError as exc:
|
||||
out.append(f"{path}:{number}: {exc}")
|
||||
continue
|
||||
out.extend(_errors(validator, record, f"{path}:{number}"))
|
||||
out.extend(_errors(campaign.get(path, validator), record, f"{path}:{number}"))
|
||||
if not out:
|
||||
try:
|
||||
mr.read_records(root)
|
||||
for name in mr.CAMPAIGN_FILES:
|
||||
mr.read_campaign(root, name)
|
||||
except mr.MeasurementsError as exc:
|
||||
out.append(str(exc))
|
||||
return out
|
||||
|
||||
Reference in new issue
Block a user