Repository navigation
Support Testably.Abstractions 10.4 by forwarding IFileSystem.RandomAccess - #103
Merged
Merged
Conversation
…cess Testably.Abstractions.FileSystem.Interface 10.4.0 adds IFileSystem.RandomAccess on net6.0 and later. NativeFileSystemProvider implements IFileSystem through IFileSystemProvider, so a consumer that resolves 10.4 at run time gets a TypeLoadException for the missing get_RandomAccess. Bump both Testably packages to 10.4.0 and forward RandomAccess to RealFileSystem, matching the other members, on the target frameworks where the interface declares it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013j5p1tUWLykEtnhAziUkZa
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Before:
ktsu.Essentials.FileSystemProviders.Nativewas built against Testably.Abstractions 10.0.0. In 10.4.0,Testably.Abstractions.FileSystem.InterfaceaddsIFileSystem.RandomAccess(IRandomAccess) on net6.0 and later.NativeFileSystemProviderimplementsIFileSystemthroughIFileSystemProviderand has no such member. So a downstream repo that resolves Testably 10.4 at run time, either directly or by taking Testably.Abstractions.Testing 7.1.x (which requires Interface[10.4.0, 10.5.0)), fails withTypeLoadException: Method 'get_RandomAccess' ... does not have an implementation. That is why the dependabot PRs in GitLfsCache and GitBranchStateCache are failing.After: Both
Testably.AbstractionsandTestably.Abstractions.FileSystem.Interfaceare pinned at 10.4.0, andNativeFileSystemProvider.RandomAccessforwards toRealFileSystem.RandomAccessin the same way the other members forward. Once this ships, the downstream repos can take Testably 10.4 and Testing 7.1.x.How: Testably declares the member under
FEATURE_FILESYSTEM_RANDOMACCESS, which it defines only for net6.0 and later (Feature.Flags.propsatcore/v10.4.0). I checked the published 10.4.0 assemblies:IRandomAccessandget_RandomAccessappear in the net6.0, net8.0, net9.0 and net10.0 builds of both the interface andRealFileSystem, and in neither netstandard build. The forwarder is therefore wrapped in#if NET6_0_OR_GREATER. The net7.0 target resolves Testably's net6.0 asset, so it gets the member too. The netstandard2.1 build is unchanged.IRandomAccesslives inSystem.IO.Abstractionsin the directly referenced Interface package, so no new reference is needed for KTSU0006. Between 10.0 and 10.4 the interface package also changedIFile, but Essentials does not implementIFile, andNativeFileSystemProvideris the onlyIFileSystemimplementer in the repo. Adding a public member is additive for package validation. No other Testably packages (such as.Testing) are referenced here.Validated by reading only; there was no local .NET SDK, so CI is the first build.
🤖 Generated with Claude Code
https://claude.ai/code/session_013j5p1tUWLykEtnhAziUkZa
Generated by Claude Code