diff --git a/tests/test_port.py b/tests/test_port.py index 269d4023e..5c873e84b 100644 --- a/tests/test_port.py +++ b/tests/test_port.py @@ -124,6 +124,13 @@ class LauncherIndex(unittest.TestCase): "install/launchers/index.json is stale: run " "python scripts/generate_launcher_index.py") + def test_the_installer_page_says_when_to_rewrite_it(self): + """The list records install.py's SHA-256, and the page that says + what a change to install.py rewrites named only the two pins.""" + page = (REPO_ROOT / "wiki" / "installer.md").read_text(encoding="utf-8") + section = page.split("## Changing the installer", 1)[1].split("\n## ", 1)[0] + self.assertIn("scripts/generate_launcher_index.py", section) + def test_every_member_of_the_archives_is_listed(self): import generate_launcher_index # noqa: PLC0415 diff --git a/wiki/installer.md b/wiki/installer.md index 73719bf16..afcacf4ef 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1702,7 +1702,10 @@ a real 3.8 interpreter, which CI installs beside 3.12 so the check cannot skip. The build scripts need 3.9 and are not bound by this. Every change to `install.py` recomputes the SHA-256 pinned in `install.sh` and -`install.ps1` in the same commit. The tests compare the pins with the file. +`install.ps1` in the same commit, and runs `scripts/generate_launcher_index.py`: +`install/launchers/index.json` records the hash of `install.py` that +`--add-app` checks before it writes a launcher on a card. The tests compare +the pins and the list with the file. The tables of options, events, exit codes, keys and card markers, the line menu and the run samples on this page sit between `generated` markers and are