rpynx v0.1.0pre-release

Building from source

Test suites

The host tests, the desktop Ren'Py integration tests, and the hardware checklist.

Source BUILD_STATUS.md, README.md, docs/HARDWARE_TESTS.md
On this page

Tests on a computer prove the code; they prove nothing about the Switch. Results from the console are recorded separately, run by run.

Host tests

bash
scripts/test.sh

No Docker needed for most of it: Apple clang or gcc, and the macOS system Python.

SuiteWhat it coversResult
Input and filesystem (C, ASan + UBSan)Presets and Nintendo A/B orientation; the npad normaliser; bind, conflict and completeness; press, hold and repeat timing including stalls; deadzone, cursor movement and acceleration; the emergency combo; reset after resume; stick and letterbox maths; JSON round trip plus 11 hostile inputs; the shipped profiles; atomic save with torn-write and missing-file fallback151/151
Loader screens (tests/ui/mockups.c)Renders every screen; fails if a settled screen keeps redrawing, or a tap misses its targetpart of the run
Importer (tests/unit/test_importer.py)The importer, with the macOS system Python; Windows behaviour with Windows faked25/25
Python side (needs Docker and the host CPython)runtime/python/selftest.py against the packed stdlib (66 required checks); test_horizon_paths.py (31 checks)pass, host only

The importer’s window tests drive its Api class without a window, so they need no pywebview:

bash
/usr/bin/python3 -m unittest tests/unit/test_importer.py tests/unit/test_importer_gui.py

Desktop Ren’Py integration

bash
tests/integration/renpy_desktop/run.sh

Runs the official Ren’Py 8.5.3 SDK headless (Xvfb, Mesa llvmpipe, GLES 3.2), started through rpynx’s boot script and bridge, with a scripted controller. It plays The Question with every default control: cursor click, dialogue, rollback and forward, hide UI, history, game menu, quick menu, auto, hold-skip, a D-pad menu choice, B in game, save to the per-game folder, and the emergency notice. 26 checks.

bash
tests/integration/renpy_desktop/compat.sh

Synthetic games for the fixes some games need, with plain-8.5.3 repros and an emulated Switch keyboard: overlapping buttons (stacked), the link notice (links), Ren’Py 7 gui values across a language change, and more. 14 checks.

This verifies the Python boot code and the bridge against the real engine. It runs no Switch code.

Hardware checklist

docs/HARDWARE_TESTS.md in the rpynx repo lists tests H1–H35, from a cold launch to the emergency combo in a game. Each run is recorded in tests/hardware/results/<date>-<run>.md with the console model and firmware, the loader version, the launch mode, expected and actual results, and the matching log lines. Emulator runs never count as hardware verification.

See Statuses and test runs for what has passed.

↑↓ move↵ openesc close