StoreFileName tests: device lookalikes and IPA pair distinctness #15

Merged
aqua merged 1 commit from aqua/store-filename-hardening into main 2026-11-07 11:52:47 +00:00
Member

Tests only; StoreFileName.cs and tools are unchanged.

  • WindowsDeviceStemsAreRewritten: adds CON.tar.gz.
  • DeviceLookalikesNeverLeaveAReservedStem: nul , COM¹, COM1 .x, coné.x, NUL..
  • IpaRoundPairsWithSeparatorCharactersInIdsStayDistinct: 6x6 grid of target/variant ids with /, -, _, case and spaces; 36 candidate ids and script paths stay distinct (case-insensitive).

Result on main 84f892f's StoreFileName: StoreFileName and Ipa tests, 59 passed, 0 failed (MSBUILDDISABLENODEREUSE=1, UseSharedCompilation=false, DOTNET_CLI_USE_MSBUILD_SERVER=0). I did not check that the new cases fail on pre-#11 code.

Not included: the IpaTrialWorker SafeName change (it changes stored music record ids, not paths), kept as a patch outside the repo.

🤖 Generated with Claude Code

Tests only; StoreFileName.cs and tools are unchanged. - WindowsDeviceStemsAreRewritten: adds `CON.tar.gz`. - DeviceLookalikesNeverLeaveAReservedStem: `nul `, `COM¹`, `COM1 .x`, `coné.x`, `NUL.`. - IpaRoundPairsWithSeparatorCharactersInIdsStayDistinct: 6x6 grid of target/variant ids with `/`, `-`, `_`, case and spaces; 36 candidate ids and script paths stay distinct (case-insensitive). Result on main 84f892f's StoreFileName: StoreFileName and Ipa tests, 59 passed, 0 failed (MSBUILDDISABLENODEREUSE=1, UseSharedCompilation=false, DOTNET_CLI_USE_MSBUILD_SERVER=0). I did not check that the new cases fail on pre-#11 code. Not included: the IpaTrialWorker SafeName change (it changes stored music record ids, not paths), kept as a patch outside the repo. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Adds CON.tar.gz to the device-stem cases, a lookalike theory (trailing
space, superscript digit, accented letter, trailing dot) and a 6x6 IPA
round grid whose ids and script paths must stay distinct. Tests only.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
aqua merged commit 91bea79b30 into main 2026-11-07 11:52:47 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/AquaSynth!15
No description provided.