Skip to content

fix(plugins): implement the missing driver requirements in the concurrency test stub#1866

Merged
datlechin merged 1 commit into
mainfrom
fix/plugin-driver-stub-conformance
Jul 13, 2026
Merged

fix(plugins): implement the missing driver requirements in the concurrency test stub#1866
datlechin merged 1 commit into
mainfrom
fix/plugin-driver-stub-conformance

Conversation

@datlechin

Copy link
Copy Markdown
Member

main is red. The macOS App Tests job fails to compile:

type 'ConcurrentStubPluginDriver' does not conform to protocol 'PluginDatabaseDriver'
TableProTests/Core/Plugins/PluginDriverAdapterConcurrencyTests.swift:103

Introduced by #1864 (failing run).

Cause

PluginDatabaseDriver has 12 requirements with no default implementation in its protocol extension, so every conformer has to implement all of them. ConcurrentStubPluginDriver implements 10 and omits two:

  • fetchTableMetadata(table:schema:)
  • fetchDatabaseMetadata(_:)

Every other driver stub in the test target already implements both, which is why this is the only stub that fails.

The build passes on Xcode 27 locally and fails on the toolchain CI uses, which is the same local-versus-CI conformance gap this repo has hit before. CI is the authority here: the two requirements really are unsatisfied.

Fix

Implement the two missing requirements on the stub, matching what the sibling stubs already return (PluginTableMetadata(tableName:) and PluginDatabaseMetadata(name:)).

No production code changes, and no CHANGELOG entry: this is a test-only build fix with no user-facing behaviour.

Verification

  • PluginDriverAdapterConcurrencyTests compiles and its 3 tests pass.
  • swiftlint lint --strict clean.
  • Confirmed by diffing the protocol's requirement list against the extension's defaults that the stub now satisfies all 12 non-defaulted requirements.

@datlechin datlechin merged commit dc2c7e3 into main Jul 13, 2026
4 of 5 checks passed
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