fix: count core data trees apart from baseline

This commit is contained in:
Abdessamad Derraz committed 2026-11-06 03:26:50 +01:00
1 parent 27991c84ba
commit 7d33bd6e8e
2 files changed
+38 -3

No files matched your search

+13 -3
View File
@@ -608,6 +608,7 @@ def _report_pack_counts(
core_count: int,
source: str,
verification_mode: str,
tree_count: int = 0,
) -> None:
"""Print the line the pipeline's consistency check reads.
@@ -639,10 +640,11 @@ def _report_pack_counts(
f"{core_count} from emulator profiles [{verification_mode}]"
)
else:
baseline = total_files - core_count
baseline = total_files - core_count - tree_count
trees = f"{tree_count} in core data trees + " if tree_count else ""
print(
f" {zip_path}: {total_files} files packed ({baseline} baseline + "
f"{core_count} from cores), {', '.join(parts)} [{verification_mode}]"
f"{trees}{core_count} from cores), {', '.join(parts)} [{verification_mode}]"
)
def _select_variants(
@@ -1314,11 +1316,19 @@ def generate_pack(
core_trees = [t for t in core_trees if not _extras_for_systems([t], owned)]
elif system_filter:
core_trees = _extras_for_systems(core_trees, system_filter)
# Counted apart: the trees a core reads are not on the platform's
# list. MyMinUI declares nothing and its line read "6944 baseline".
total_files += _pack_data_directories(
zf, pack_systems, data_registry, platform_name, base_dest,
flatten, case_insensitive, seen_destinations, seen_lower,
seen_parents, required_only=required_only,
)
tree_count = _pack_data_directories(
zf, {}, data_registry, platform_name, base_dest,
flatten, case_insensitive, seen_destinations, seen_lower,
seen_parents, required_only=required_only, core_trees=core_trees,
)
total_files += tree_count
# README.txt for users: personalized step-by-step per platform
num_systems = len(pack_systems)
@@ -1357,7 +1367,7 @@ def generate_pack(
_report_pack_counts(
zip_path, file_status, total_files, core_count, source,
verification_mode,
verification_mode, tree_count=tree_count,
)
if cut is not None:
_report_left_out(
+25
View File
@@ -165,5 +165,30 @@ class AmberelecCarriesTheMachines(unittest.TestCase):
)
class TheCountLineKeepsTreesOutOfTheBaseline(unittest.TestCase):
"""MyMinUI declares no file, and its pack line read "6944 baseline": the
fbneo trees its cores read were counted as the platform's list."""
def test_a_platform_declaring_nothing_has_no_baseline(self) -> None:
import contextlib
import io
previous = os.getcwd()
os.chdir(REPO_ROOT)
self.addCleanup(os.chdir, previous)
db = common.load_database("database.json")
record = builder.PackRecord()
out = io.StringIO()
with contextlib.redirect_stdout(out):
builder.generate_pack(
"myminui", "platforms", db, "bios", "tmp", offline=True, record=record,
data_registry=common.load_data_dir_registry("platforms"),
)
line = next(l for l in out.getvalue().splitlines() if "files packed" in l)
self.assertIn("(0 baseline + ", line)
if record.trees:
self.assertIn(f"+ {len(record.trees)} in core data trees + ", line)
if __name__ == "__main__":
unittest.main()