diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index d697062c4..35cecba97 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -6284,7 +6284,13 @@ class DocsDescribeTheRegistriesTheyName(unittest.TestCase): from dedup import NODEDUP_DIRS tools = (ROOT / "wiki" / "tools.md").read_text(encoding="utf-8") line = next(l for l in tools.splitlines() if "NODEDUP_DIRS" in l) - self.assertEqual(sorted(d for d in NODEDUP_DIRS if d not in line), []) + # Compared as list items: `mame` was missing while the substring + # test found it in `_mame_clones.json` on the same line. + listed = line.split("`NODEDUP_DIRS`", 1)[1].split(":", 1)[1].rstrip(" |") + self.assertEqual( + sorted(item.strip() for item in listed.split(",")), + sorted(NODEDUP_DIRS), + ) readme_gen = (ROOT / "scripts" / "generate_readme.py").read_text(encoding="utf-8") self.assertIn("NODEDUP_DIRS", readme_gen) diff --git a/wiki/tools.md b/wiki/tools.md index 9d9c2d08a..93b044523 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -1325,7 +1325,7 @@ before a release (wiki/release-process.md). Its lines stay in | Script | Purpose | |--------|---------| | `common.py` | Shared library: hash computation, file resolution, platform config loading, emulator profiles, target filtering | -| `dedup.py` | Deduplicate `bios/` (`--dry-run`, `--bios-dir`): byte-identical copies are deleted and one kept. Identical MAME sets under other names stay one file, named in `_mame_clones.json`. Trees addressed by path are left alone (`NODEDUP_DIRS`): BBK, Bungie, C-Dogs SDL, Ikemen GO, PinMAME, RPG Maker, ScummVM, Softdisk, TheXTech, splitwolf, Theme Hospital, c64-emu, opentyrian, tzdata | +| `dedup.py` | Deduplicate `bios/` (`--dry-run`, `--bios-dir`): byte-identical copies are deleted and one kept. Identical MAME sets under other names stay one file, named in `_mame_clones.json`. Trees addressed by path are left alone (`NODEDUP_DIRS`), under a folder of that name at any depth: BBK, Bungie, C-Dogs SDL, Ikemen GO, mame, PinMAME, RPG Maker, ScummVM, Softdisk, TheXTech, splitwolf, Theme Hospital, c64-emu, opentyrian, tzdata | | `identity.py` | One content filed under two identities: groups `bios/` by content and reports a group that crosses manufacturers outside `KNOWN_SHARED` (`--strict` exits 1, pipeline step 3a) | | `slots.py` | Destinations the platform and a core both claim, and how the pack settles each (`--platform`, `--include-archived`, `--target`, `--json`, `--strict`, and pipeline step 3b passes the run's own `--include-archived` and `--target`) | | `region_audit.py` | Confront every profile `region:` with the regions No-Intro names for the same dump (`--json`, `--db`, `--emulators-dir`). An opinion, never an authority: the code decides, and a disagreement is a line to read in the emulator's source |