Skip to content

Tests: enable compile verification on five previously-skipped mock tests#276

Merged
dfed merged 1 commit intomainfrom
claude/enable-fixme-compile-verification
Apr 20, 2026
Merged

Tests: enable compile verification on five previously-skipped mock tests#276
dfed merged 1 commit intomainfrom
claude/enable-fixme-compile-verification

Conversation

@dfed
Copy link
Copy Markdown
Owner

@dfed dfed commented Apr 20, 2026

Summary

Five mock-generation tests carried skipCompileVerification: true FIXMEs pointing at generator bugs that have since been fixed. Removing the opt-outs confirms the fixes hold end-to-end (fresh parse → generated code → actual swiftc typecheck).

Changes

Removed the FIXME comments and skipCompileVerification: true flag on:

Test Bug Fixed in
mock_usesMockOnly_whenProductionHasNoMockAndBothFulfillSameAdditionalType mockOnly not coerced to fulfilled-slot type #251
mock_sendableClosureDependencyProducesValidIdentifier @escaping dropped on @Sendable closure on mock() #267
mock_generatedForFullyLazyInstantiationCycle Fully-lazy cycles produced self-referential SafeDIMockConfiguration defaults #259
mock_extensionUserMockReturningAdditionalTypeUsedForProtocolProperty customMock return type disagreement between root call site and type's own mock() #266
mock_extensionUserMockReturningAdditionalTypeNotUsedForConcreteProperty Same as above — sibling test #266

Test plan

  • swift test --traits sourceBuild — 901 tests pass (up from 901; no tests added, but all five now exercise the compile-verification path)
  • ./CLI/lint.sh

🤖 Generated with Claude Code

The five FIXMEs tracked bugs that later PRs fixed — the generator now
produces output that actually compiles for these shapes:

- mockOnly coerced to fulfilled slot type (fixed in #251)
- @escaping applied to @sendable closure parameters on mock() (fixed
  in #267)
- fully-lazy instantiation cycles no longer produce self-referential
  SafeDIMockConfiguration defaults (fixed by the global feedback-arc
  set in #259)
- customMock returning a different type from Self — both the root-level
  call site and the type's own generated mock() now agree on the
  customMock return type (fixed in #266)

Removing the `skipCompileVerification: true` flag on each confirms the
fixes hold end-to-end.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (cc10145) to head (c251120).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #276   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           41        41           
  Lines         6796      6796           
=========================================
  Hits          6796      6796           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dfed dfed merged commit c88358b into main Apr 20, 2026
17 checks passed
@dfed dfed deleted the claude/enable-fixme-compile-verification branch April 20, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant