# C-1 Pre-Fix Test Suite

**Date:** 2026-03-29
**Branch:** culurien
**Purpose:** Document Windows-specific bugs BEFORE fixes.
**Reference:** docs/C1_Windows_Audit.md

---

## Test Files

| File | Package | Tag | Bugs |
|------|---------|-----|------|
| `scanner/winget_path_test.go` | `scanner` | SHARED | F-C1-1 |
| `scanner/winget_parser_test.go` | `scanner` | SHARED | F-C1-2, F-C1-8 |
| `scanner/winget_logging_test.go` | `scanner` | SHARED | F-C1-6 |
| `scanner/windows_ghost_test.go` | `scanner` | SHARED | F-C1-3 |
| `scanner/windows_service_parity_test.go` | `scanner` | SHARED | F-C1-4, F-C1-5, F-C1-7 |

All tests read source files as text — no Windows APIs needed.
All compile and run on Linux. Zero platform-specific imports.

---

## State-Change Summary

| Test | Bug | Current | After Fix |
|------|-----|---------|-----------|
| TestWingetSearchesPathOnly | F-C1-1 | PASS | update |
| TestWingetChecksKnownInstallLocations | F-C1-1 | **FAIL** | PASS |
| TestWingetTextParserHandlesSpacesInPackageNames | F-C1-2 | **FAIL** | PASS |
| TestWingetTextParserCurrentlyBreaksOnSpaces | F-C1-2 | PASS | update |
| TestWingetJsonParserHandlesSpacesInPackageNames | F-C1-2 | PASS | PASS |
| TestWingetParserReturnsConsistentStructure | F-C1-2 | PASS | PASS |
| TestWindowsUpdateInstallerHasNoPostInstallVerification | F-C1-3 | PASS | update |
| TestWindowsUpdateInstallerVerifiesPostInstallState | F-C1-3 | **FAIL** | PASS |
| TestWindowsUpdateSearchCriteriaExcludesInstalled | F-C1-3 | PASS | PASS |
| TestWindowsServiceHasAutoRestartOnCrash | F-C1-4 | PASS | PASS |
| TestWindowsServicePollingLoopHasFixedJitter | F-C1-5 | PASS | update |
| TestWindowsServicePollingLoopHasProportionalJitter | F-C1-5 | **FAIL** | PASS |
| TestWindowsServicePollingLoopHasNoExponentialBackoff | F-C1-5 | PASS | update |
| TestWindowsServicePollingLoopHasExponentialBackoff | F-C1-5 | **FAIL** | PASS |
| TestPollingLoopIsNotDuplicated | F-C1-5 | **FAIL** | PASS |
| TestWingetScannerUsesStructuredLogging | F-C1-6 | PASS | update |
| TestWingetScannerHasNoFmtPrintf | F-C1-6 | **FAIL** | PASS |
| TestWindowsServiceHasEmojiInLogs | F-C1-7 | PASS | update |
| TestWindowsServiceHasNoEmojiInLogs | F-C1-7 | **FAIL** | PASS |

**8 FAIL** (assert post-fix), **11 PASS** (document state).

---

## Notes

1. F-C1-4 was resolved during testing: `SetRecoveryActions` already exists in the service code. The audit finding was incorrect.
2. All tests are SHARED (no build tags) — they read source files as text.
3. Winget parser tests (Part 2) call Go functions directly — they test pure parsing logic.
4. All prior B-2 and A-series agent tests continue to pass.
