Three fixture files support the test suite: sample.inf (ANSI with %TOKEN%), sample_utf16.inf (UTF-16 LE BOM binary), sample_multi_model.inf (NTamd64 + undecorated sections).
Found during: Task 1, GREEN phase (first test run)
Issue: configparser defaults optionxform = str.lower, so the literal key Acme SuperPrint 9000 was returned as acme superprint 9000. The test assert "Acme SuperPrint 9000" in result.driver_names failed.
Fix: Set parser.optionxform = str to preserve original casing of option keys. The [Strings] dict still explicitly lowercases keys (strings[key.lower()]) for case-insensitive token resolution.
Note: The plan specified strict=False and RawConfigParser correctly but did not mention optionxform=str. This is a real-INF edge case documented in the pitfalls section of 02-RESEARCH.md (implicitly — the note says "Strings dict keys must be lowercased" without clarifying that DriverDesc keys also get lowercased by default).
Test Count Deviation
The plan specified 11 test functions; 16 were written. The extra 5 cover:
test_detect_encoding_utf16be (UTF-16 BE BOM variant)
test_architecture_detection_amd64 (split from the combined architecture test)
test_architecture_detection_arm64
test_architecture_detection_undecorated
test_architecture_detection_mixed
This provides more granular failure diagnosis and meets the min_lines: 80 artifact requirement.
Self-Check
imptune/services/inf_parser.py exists
imptune/services/__init__.py exists
tests/test_inf_parser.py exists (>80 lines)
tests/fixtures/sample.inf exists
tests/fixtures/sample_utf16.inf exists (UTF-16 LE BOM binary)