Mark the three share-mode tests Windows-only

They hold a FileShare.Read handle and expect a delete or replace to fail;
Linux unlink and rename ignore open handles, so they can never pass there and
showed as three standing failures. [Platform("Win")] reports them skipped with
a reason on Linux and keeps them running on Windows. No Linux failure injection
exists: the store names its temp file with a fresh GUID and the suite is
likely root in the verify container, so read-only directories do not fail.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-29 04:17:31 +02:00
commit 1ddf6e0d56
3 changed files with 3 additions and 0 deletions

View file

@ -707,6 +707,7 @@ namespace GameCult.Caching.Tests
}
[Test]
[Platform("Win", Reason = "Holds an open FileShare.Read handle and expects a delete or replace to fail; Linux unlink and rename ignore open handles.")]
public async Task DirectoryMessagePackBackingStore_Deletion_Commits_While_Locked_Old_Page_Remains_An_Orphan()
{
var filePath = Path.Combine(Path.GetTempPath(), $"cultlib-tests-{Guid.NewGuid():N}.cc");

View file

@ -37,6 +37,7 @@ namespace GameCult.Caching.Tests
}
[Test]
[Platform("Win", Reason = "Holds an open FileShare.Read handle and expects a delete or replace to fail; Linux unlink and rename ignore open handles.")]
public async Task FailedManifestReplaceKeepsPreviousGeneration()
{
using var cache = Open(out _);

View file

@ -439,6 +439,7 @@ namespace GameCult.Caching.Tests
}
[Test]
[Platform("Win", Reason = "Holds an open FileShare.Read handle and expects a delete or replace to fail; Linux unlink and rename ignore open handles.")]
public void BatchIsAllOrNothingOnStoreFailure()
{
var registry = Registry();