Files
libretro/tests/test_system_pack_extras.py

37 lines
1.2 KiB
Python

"""A pack limited to some systems carries those systems' core extras.
With --platform and --system, the full source emptied the core extras, so
`--source full` and `--source platform` built the same pack under two
names; the split packs, built per system, carried them.
"""
from __future__ import annotations
import sys
import unittest
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(REPO_ROOT / "scripts"))
from generate_pack import _extras_for_systems # noqa: E402
class SystemExtras(unittest.TestCase):
def test_extras_follow_their_system(self):
extras = [
{"name": "a", "source_system": "sony-playstation"},
{"name": "b", "source_system": "sega-saturn"},
{"name": "c", "source_systems": ["sony-playstation", "sony-psp"]},
]
picked = [e["name"] for e in _extras_for_systems(extras, ["sony-playstation"])]
self.assertEqual(picked, ["a", "c"])
def test_full_source_does_not_empty_them(self):
source = (REPO_ROOT / "scripts" / "generate_pack.py").read_text(encoding="utf-8")
self.assertNotIn('elif system_filter and source != "truth":\n core_files = []', source)
if __name__ == "__main__":
unittest.main()