Tests: persistence tripwire + cue resolution + audit/gate hardening, group 3 (review Phase 2)
- Profile persistence TRIPWIRE: reflection over every public writable Profile field - each must round-trip ApplyProfile->CopyTo or appear on an explicit declared list (control-owned or legacy, each with its reason). Add a field without wiring it and this FAILS naming the field - closing the three-parallel-lists drift trap for good. The declared list is itself checked against real properties so it can't rot. (Immediately proved itself: enumerated the 14 legacy v4.4 hotkey fields.) - Cue variant resolution: 'Sound N' labels, numeric ordering, the drop-bare-when- numbered dedupe (the duplicate-row NVDA trap), chosen-default honoured + fallback when the chosen file is gone. - Accessibility audit now includes UpdateInstallNoticeDialog (it was the one Form-derived dialog missing from the audit list). - Skipped self-test steps are now LOUD: the summary names every skipped step and run-tests.ps1 prints a yellow warning - a gate pass with steps skipped no longer reads as full coverage. Gate 58/58. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -122,6 +122,15 @@ foreach ($line in ($st.Text -split "`r?`n")) {
|
||||
if ($line -match '\[(PASS|FAIL|SKIP)\]|^RESULT:') { Write-Host " $($line.Trim())" }
|
||||
}
|
||||
if ($st.Code -eq 0) { Pass "self-test passed (exit 0)" } else { Fail "self-test failed (exit $($st.Code))" }
|
||||
# Skipped steps are coverage that did NOT run. The gate still passes (some skips are legitimate on a
|
||||
# headless/agent box), but they must be impossible to miss in the output - a release verified with
|
||||
# steps skipped is only as verified as what actually ran.
|
||||
$skipLine = ($st.Text -split "`r?`n") | Where-Object { $_ -match '^SKIPPED STEPS' } | Select-Object -First 1
|
||||
if ($skipLine) {
|
||||
Write-Host ""
|
||||
Write-Host " WARNING: $($skipLine.Trim())" -ForegroundColor Yellow
|
||||
Write-Host " These steps did not run on this machine - their coverage is NOT verified." -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "`nResource sanity (handle/memory leak check):" -ForegroundColor Cyan
|
||||
$pf = Invoke-RsCli @('--perftest', '--seconds', '12')
|
||||
|
||||
Reference in New Issue
Block a user