Skip to content

Add defensive check to prevent double-wrapping in spec_from_file_location wrapper - #80

Merged
emeryberger merged 3 commits into
fix-alembic-coverage-issue-76from
copilot/sub-pr-77
Jan 28, 2026
Merged

Add defensive check to prevent double-wrapping in spec_from_file_location wrapper#80
emeryberger merged 3 commits into
fix-alembic-coverage-issue-76from
copilot/sub-pr-77

Conversation

Copilot AI commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

Addresses feedback from PR #77 to add a defensive check preventing double-wrapping of loaders when wrap_spec_from_file_location() processes specs with already-wrapped loaders.

Changes

  • Added defensive check in wrap_spec_from_file_location(): Returns early if spec.loader is already a SlipcoverLoader, preventing nested wrapping in edge cases where an already-instrumented spec is passed through the wrapper
  • Added unit test: test_wrap_spec_from_file_location_no_double_wrap() validates the defensive check by passing a wrapped loader as the loader parameter to spec_from_file_location()

The check follows the existing pattern for skipping AssertionRewritingHook and ExtensionFileLoader:

# Skip if already wrapped - prevent double-wrapping
if isinstance(spec.loader, SlipcoverLoader):
    return spec

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 27, 2026 21:41
…tion

Co-authored-by: emeryberger <1612723+emeryberger@users.noreply.github.com>
Co-authored-by: emeryberger <1612723+emeryberger@users.noreply.github.com>
@emeryberger
emeryberger marked this pull request as ready for review January 27, 2026 21:45
Copilot AI changed the title [WIP] Update coverage support for Alembic migrations based on review Add defensive check to prevent double-wrapping in spec_from_file_location wrapper Jan 27, 2026
Copilot AI requested a review from emeryberger January 27, 2026 21:46
@emeryberger
emeryberger merged commit 9f56749 into fix-alembic-coverage-issue-76 Jan 28, 2026
31 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.

2 participants