tests/__init__.py keeps a run offline, its scratch under tmp/ and its
installer cache its own, but only discover -s tests -t . imported it.
discover tests ran with RETROBIOS_OFFLINE unset, scratch on the /tmp
tmpfs and the user's real installer cache, the setting in which e2e
fixtures had written into the shared .cache/large. Every test module now
imports the package first, and a test fails on a module that does not.
test_verify_listing.py took its line with the previous commit.
The target scraper kept its own copy of the EmuScripts table and took
.ps1 files the platform scraper never read, so emudeck-we's template
skeleton was published as a core and removed afterwards by an override.
Both scrapers now read emulator_of_script, and the platform scraper
lists the installers at the pinned revision, as launchers: and the
SteamOS target already did. Targets rescraped, override dropped.
The target scraper stripped -sa from every standalone package while the platform scraper keeps both spellings. vice-standalone, scummvm-standalone and supermodel3 answer to vice-sa, scummvm-sa and supermodel-sa only, so every targeted ROCKNIX build left them out. Both now read standalone_emulators(), and the targets are rescraped at tag 20261001.
Batocera and KNULLI write the image name, not the board, to the card's board file (post-image-script.sh). The target scraper now records each board's images from Config.in, the target lists carry them, and the installer maps a card's image to its board. KNULLI's boot/knulli.board is read too.
KNULLI builds per board on Batocera's Kconfig model from its own tree (knulli-cfw/knulli-linux at the tag platforms/knulli.yml pins): configs/knulli-*.board, package/system/knulli-system/Config.in, knulli-es-system/es_systems.yml and the knulli-cfw/buildroot submodule. Ten boards, the armhf library builds excluded.
board_cores walked only the plain [core.N] sections and replaced a board
section whole. romfs2 systemholder.py reads a slot present as
[core.N.<board>] alone (gb and gbc bsnes on x86_64) and each key from the
board section, then <key>.<board>, then the plain key. The committed
target lists are unchanged on all seven boards.
The RetroPie target scraper read master and the EmuDeck one the default
branch, while both platform files are pinned on a commit: a module flag
changed in between filtered packages the pinned list does not describe.
Both now read the revision pinned_revision returns, which also accepts the
codeload URL the RetroPie scraper records. EmuDeck Windows stays on the
emudeck-we default branch: the platform file pins no revision of it.
The buildbot publishes .so cores for OpenDingux (mips32, its beta and RS-90 builds), RetroFW, MiyooCFW and webOS (armv7a, aarch64), 7 to 206 cores each. None was a target, so a handheld or TV user could not narrow a pack or an install to the board. They are scraped now, with opendingux, retrofw, miyoo and webos as aliases.
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.
validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
Recalbox builds seven board images with different emulators. The new
target scraper reads each board's defconfig against the package every
system.ini core names. The names that reached no profile are mapped to
the projects Recalbox builds or profiled from their source, and the
mupen64plus video plugins are set aside.
ROCKNIX builds a different emulator set per SoC, and without a target
list an H700 handheld received the PS2, PS3 and GameCube firmware of
emulators its image lacks. The new target scraper reads the emulators
metapackage per device; seven cores ROCKNIX ships get profiles and the
Super Famicom Box ROMs one of them needs are collected.
The target scraper treated every select in Config.in as unconditional
and never set the symbols Buildroot sets, so nearly every board listed
the same 171 cores and xroar, which needs OpenGL, reached none. Selects
now fire from their own config, to a fixed point, from the flags each
board file sets, with Buildroot's arch and OpenGL provider rules read at
the commit Batocera pins. A board that builds no image is no target.