mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: harmonize verify and pack output format
Both tools now report: X files, Y/Z checks verified (N duplicate/inner checks), with the same check counts for the same platform. The duplicate/inner detail explains why checks > files (multiple YAML entries per ZIP for inner ROM verification, EmuDeck MD5 whitelists). File counts differ legitimately (verify counts resolved files on disk, pack counts files in the ZIP including data_directories).
This commit is contained in:
@@ -453,7 +453,10 @@ def generate_pack(
|
||||
if verification_mode == "existence":
|
||||
print(f" Generated {zip_path}: {total_files} files ({total_files - extra_count} platform{extras_msg}, {len(missing_files)} missing) [verification: existence]")
|
||||
else:
|
||||
print(f" Generated {zip_path}: {total_files} files, {verified_checks}/{total_checks} checks verified, {len(untested_files)} untested, {len(missing_files)} missing [verification: {verification_mode}]")
|
||||
checks_detail = ""
|
||||
if total_checks != total_files:
|
||||
checks_detail = f" ({total_checks - total_files} duplicate/inner checks)"
|
||||
print(f" Generated {zip_path}: {total_files} files, {verified_checks}/{total_checks} checks verified{checks_detail}, {len(untested_files)} untested, {len(missing_files)} missing [verification: {verification_mode}]")
|
||||
return zip_path
|
||||
|
||||
|
||||
|
||||
@@ -219,10 +219,17 @@ def verify_platform(config: dict, db: dict) -> dict:
|
||||
untested = sum(1 for r in results if r["status"] == Status.UNTESTED)
|
||||
missing = sum(1 for r in results if r["status"] == Status.MISSING)
|
||||
|
||||
# Count unique files (by system/destination) for reporting
|
||||
unique_files = set()
|
||||
for r in results:
|
||||
dest = r.get("path") or r["name"]
|
||||
unique_files.add(dest)
|
||||
|
||||
return {
|
||||
"platform": platform,
|
||||
"verification_mode": mode,
|
||||
"total": len(results),
|
||||
"unique_files": len(unique_files),
|
||||
"ok": ok,
|
||||
"untested": untested,
|
||||
"missing": missing,
|
||||
@@ -259,11 +266,14 @@ def main():
|
||||
|
||||
if not args.json:
|
||||
mode = result["verification_mode"]
|
||||
uf = result["unique_files"]
|
||||
total = result["total"]
|
||||
checks_detail = f" ({total - uf} duplicate/inner checks)" if total != uf else ""
|
||||
if mode == "existence":
|
||||
print(f"{result['platform']}: {result['ok']}/{result['total']} present, "
|
||||
print(f"{result['platform']}: {uf} files, {result['ok']}/{total} checks present{checks_detail}, "
|
||||
f"{result['missing']} missing [verification: {mode}]")
|
||||
else:
|
||||
print(f"{result['platform']}: {result['ok']}/{result['total']} verified, "
|
||||
print(f"{result['platform']}: {uf} files, {result['ok']}/{total} checks verified{checks_detail}, "
|
||||
f"{result['untested']} untested, {result['missing']} missing [verification: {mode}]")
|
||||
|
||||
for d in result["details"]:
|
||||
|
||||
Reference in New Issue
Block a user