test: pin the sanitizer allowlist and resource-policy boundaries #48

Closed
opened 2026-11-10 22:48:52 +00:00 by james.maes · 0 comments
Owner

Problem

The tests review ran 324 targeted mutants against main (8763ff3); 92 survived. This issue covers the Core ones that guard untrusted input:

  • The sanitizer's element, attribute and link-scheme allowlists are not pinned: widening them leaves every test green, and the fuzz corpus never generates several elements its own oracle forbids.
  • Resource-policy checks (scheme, port, credentials, file types, forbidden characters, device names) are tested with requests that are rejected for an unrelated reason, so removing a check goes unnoticed.
  • Reserved Windows device names are listed twice with different contents, and both lists depend on exact spelling.
  • Several validation checks have no test that only they reject (theme colours and labels, metadata escaping, per-property settings repair, schema approval, exact size limits).

Expected

  • One independent, exact pin for each allowlist.
  • Single-component variations for the resource policy.
  • One written-out rule for Windows reserved names and forbidden characters, used by both callers.
  • A killing test for each surviving mutant in these areas, or a note that the mutant is equivalent.
## Problem The tests review ran 324 targeted mutants against `main` (8763ff3); 92 survived. This issue covers the Core ones that guard untrusted input: - The sanitizer's element, attribute and link-scheme allowlists are not pinned: widening them leaves every test green, and the fuzz corpus never generates several elements its own oracle forbids. - Resource-policy checks (scheme, port, credentials, file types, forbidden characters, device names) are tested with requests that are rejected for an unrelated reason, so removing a check goes unnoticed. - Reserved Windows device names are listed twice with different contents, and both lists depend on exact spelling. - Several validation checks have no test that only they reject (theme colours and labels, metadata escaping, per-property settings repair, schema approval, exact size limits). ## Expected - One independent, exact pin for each allowlist. - Single-component variations for the resource policy. - One written-out rule for Windows reserved names and forbidden characters, used by both callers. - A killing test for each surviving mutant in these areas, or a note that the mutant is equivalent.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/MarkdownViewr.Windows#48