mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 05:53:23 -05:00
fix: stop counting a contradicted hash as covered
The per-emulator report captured the status resolve_local_file returns and then ignored it: any non-empty path became OK. An entry whose only candidate contradicts its declared hash therefore read as covered, so a same-named file from another system stood in for one the collection does not hold. 36 entries across 14 profiles were affected, among them config.ini, ROM and rom2.bin, names that collide across systems. Emulator validation still runs first, since it names the field that disagrees; the resolution status is consulted only when validation had nothing to say.
This commit is contained in:
1 parent
0efd4f34ce
commit
f097184b00
2 files changed
+214
No files matched your search
@@ -1401,6 +1401,21 @@ def verify_emulator(
|
||||
"path": local_path,
|
||||
"reason": reason,
|
||||
}
|
||||
elif resolve_status == "hash_mismatch":
|
||||
# Nothing in validation: caught it, but the name matched
|
||||
# while the bytes contradict the hash the profile
|
||||
# declares. That is a different file wearing the right
|
||||
# name -- config.ini and ROM collide across systems -- so
|
||||
# calling it covered reports the collection as holding
|
||||
# something it does not. Validation runs first because it
|
||||
# names the specific field that disagrees.
|
||||
result = {
|
||||
"name": name,
|
||||
"status": Status.UNTESTED,
|
||||
"required": required,
|
||||
"path": local_path,
|
||||
"reason": "declared hash contradicted by the local file",
|
||||
}
|
||||
else:
|
||||
result = {
|
||||
"name": name,
|
||||
|
||||
Reference in new issue
Block a user