fix: read core files in verify as the builder does

This commit is contained in:
Abdessamad Derraz committed 2026-10-18 01:18:32 +02:00
1 parent 3766588ec1
commit fad4fa6d7e
8 files changed
+51 -31

No files matched your search

+1 -5
View File
@@ -45,7 +45,6 @@ def compute_coverage(
platforms_dir: str,
db: dict,
data_registry: dict | None = None,
supplemental_names: set[str] | None = None,
emulators_dir: str = _EMULATORS_DIR,
) -> dict:
config = load_platform_config(platform_name, platforms_dir)
@@ -54,7 +53,6 @@ def compute_coverage(
db,
emulators_dir,
data_dir_registry=data_registry,
supplemental_names=supplemental_names,
)
sc = result.get("status_counts", {})
ok = sc.get("ok", 0)
@@ -295,16 +293,14 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
platform_names = list_registered_platforms(platforms_dir, include_archived=True)
from common import load_data_dir_registry
from cross_reference import _build_supplemental_index
data_registry = load_data_dir_registry(platforms_dir)
suppl_names = _build_supplemental_index()
coverages = {}
for name in platform_names:
try:
coverages[name] = compute_coverage(
name, platforms_dir, db, data_registry, suppl_names
name, platforms_dir, db, data_registry
)
except FileNotFoundError:
pass
+1 -1
View File
@@ -3813,7 +3813,7 @@ def main() -> None:
for name in sorted(platform_names):
try:
cov = compute_coverage(
name, args.platforms_dir, db, data_registry, suppl_names,
name, args.platforms_dir, db, data_registry,
emulators_dir=args.emulators_dir,
)
coverages[name] = cov
+6 -15
View File
@@ -884,7 +884,6 @@ def verify_platform(
emu_profiles: dict | None = None,
target_cores: set[str] | None = None,
data_dir_registry: dict | None = None,
supplemental_names: set[str] | None = None,
regions: list[str] | None = None,
) -> dict:
"""Verify all BIOS files for a platform, including cross-reference gaps.
@@ -1085,22 +1084,18 @@ def verify_platform(
):
file_severity[dest] = sev
# Cross-reference undeclared files
if supplemental_names is None:
from cross_reference import _build_supplemental_index
supplemental_names = _build_supplemental_index()
# The builder's declarations, not the enriched ones: a core file the
# platform also declares under another name is packed at the core's own
# path, and a report reading the enriched set never counted it (21 such
# files in the RetroArch pack).
# Cross-reference undeclared files, called exactly as the builder calls
# it: its declarations, not the enriched ones (a core file the platform
# also declares under another name is packed at the core's own path, 21
# such files in the RetroArch pack), and no names from inside archives
# or data trees (a loose file whose name exists only as a member of
# naomi2.zip was counted "in pack" while the builder shipped nothing).
undeclared = find_undeclared_files(
config,
emulators_dir,
db,
emu_profiles,
target_cores=target_cores,
data_names=supplemental_names,
declared_names=platform_declarations(config, db, enrich=False),
)
if region_drops:
@@ -2226,9 +2221,6 @@ def _main(held: contextlib.ExitStack) -> None:
groups = group_identical_platforms(
platforms, args.platforms_dir, target_cores_cache if args.target else None
)
from cross_reference import _build_supplemental_index
suppl_names = _build_supplemental_index()
all_results = {}
group_results: list[tuple[dict, list[str]]] = []
@@ -2242,7 +2234,6 @@ def _main(held: contextlib.ExitStack) -> None:
emu_profiles,
target_cores=tc,
data_dir_registry=data_registry,
supplemental_names=suppl_names,
regions=requested_regions,
)
names = [