Skip to content

feat(core): add capability override layer#7520

Merged
Xuanwo merged 11 commits into
mainfrom
xuanwo/capability-override-tests
May 18, 2026
Merged

feat(core): add capability override layer#7520
Xuanwo merged 11 commits into
mainfrom
xuanwo/capability-override-tests

Conversation

@Xuanwo
Copy link
Copy Markdown
Member

@Xuanwo Xuanwo commented May 12, 2026

Which issue does this PR close?

Refs #6707.

Rationale for this change

Some behavior test switches were encoded as service configuration even though they only control which capability-gated tests should run. This makes backend configuration mix real service behavior with test environment selection.

This PR adds a capability override layer so tests can disable selected capabilities without changing the backend's native capability declaration.

What changes are included in this PR?

  • Add CapabilityOverrideLayer, which updates full_capability while preserving native_capability.
  • Add OPENDAL_TEST_CAPABILITY_OVERRIDES support in testkit for boolean and numeric capability fields.
  • Migrate S3 behavior test setup to capability overrides for versioning, append, and write-with-if-match test coverage.
  • Deprecate S3 test-only capability toggles that are no longer needed.

Are there any user-facing changes?

S3 versioning, append, and write-with-if-match capabilities are now declared by default. The old S3 config toggles for these capabilities are deprecated and kept as no-op compatibility shims.

AI Usage Statement

AI assistance was used to prepare the implementation and validation steps.

@Xuanwo Xuanwo marked this pull request as ready for review May 12, 2026 05:50
@Xuanwo Xuanwo requested a review from tisonkun as a code owner May 12, 2026 05:50
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/feat The PR implements a new feature or has a title that begins with "feat" labels May 12, 2026
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels May 12, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label May 18, 2026
@Xuanwo Xuanwo merged commit fce4353 into main May 18, 2026
454 of 455 checks passed
@Xuanwo Xuanwo deleted the xuanwo/capability-override-tests branch May 18, 2026 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants