Skip to content

Conversation

@vbreuss
Copy link
Member

@vbreuss vbreuss commented Jan 29, 2025

For File:

  • void AppendAllBytes(string, byte[])
  • void AppendAllBytes(string, ReadOnlySpan<byte>)
  • Task AppendAllBytesAsync(string, byte[], CancellationToken)
  • Task AppendAllBytesAsync(string, ReadOnlyMemory<byte>, CancellationToken)
  • void AppendAllText(string, ReadOnlySpan<char>)
  • void AppendAllText(string, ReadOnlySpan<char>, Encoding)
  • Task AppendAllTextAsync(string, ReadOnlyMemory<char>, Encoding, CancellationToken)
  • Task AppendAllTextAsync(string, ReadOnlyMemory<char>, CancellationToken)
  • void WriteAllBytes(string, ReadOnlySpan<byte>)
  • Task WriteAllBytesAsync(string, ReadOnlyMemory<byte>, CancellationToken)
  • void WriteAllText(string, ReadOnlySpan<char>)
  • void WriteAllText(string, ReadOnlySpan<char>, Encoding)
  • Task WriteAllTextAsync(string, ReadOnlyMemory<char>, Encoding, CancellationToken)
  • Task WriteAllTextAsync(string, ReadOnlyMemory<char>, CancellationToken)

For Path:

  • string Combine(params ReadOnlySpan<string> paths)
  • string Join(params ReadOnlySpan<string?> paths)

For Guid:

  • Guid CreateVersion7()
  • Guid CreateVersion7(DateTimeOffset)

@vbreuss vbreuss added the enhancement New feature or request label Jan 29, 2025
@vbreuss vbreuss self-assigned this Jan 29, 2025
@github-actions
Copy link

github-actions bot commented Jan 29, 2025

👽 Mutation Results

Mutation testing badge

Testably.Abstractions.AccessControl

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants

The final mutation score is NaN%

Coverage Thresholds: high:80 low:60 break:0

Testably.Abstractions.Compression

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants

The final mutation score is NaN%

Coverage Thresholds: high:80 low:60 break:0

Testably.Abstractions

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants
FileSystem\FileWrapper.cs 0.00% 0 1 0 0 0 0 0 1 1
FileSystem\PathWrapper.cs 0.00% 0 1 0 0 0 0 0 1 1

The final mutation score is 0.00%

Coverage Thresholds: high:80 low:60 break:0

Testably.Abstractions.Testing

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants
FileSystem/FileMock.cs 100.00% 156 0 0 0 104 6 156 0 266
FileSystem/PathMock.cs 100.00% 49 0 0 0 5 0 49 0 54
Helpers/Execute.NativePath.cs 100.00% 17 0 0 0 5 0 17 0 22
Helpers/Execute.SimulatedPath.cs 100.00% 337 0 0 0 89 2 337 0 428
RandomSystem/GuidMock.cs 100.00% 1 0 0 0 0 0 1 0 1
RandomSystem/RandomProviderMock.cs 100.00% 4 0 0 0 3 0 4 0 7
Statistics/CallStatistics.cs 100.00% 29 0 0 0 28 0 29 0 57
TimeSystem/TimeProviderMock.cs 100.00% 4 0 0 0 2 0 4 0 6
TimeSystem/TimerMock.cs 100.00% 108 0 0 0 34 8 108 0 150

The final mutation score is 100.00%

Coverage Thresholds: high:80 low:60 break:0

@github-actions
Copy link

github-actions bot commented Jan 29, 2025

Test Results

     51 files  +    15       51 suites  +15   23m 8s ⏱️ + 7m 19s
 58 626 tests +17 324   55 600 ✅ +16 499   3 026 💤 +  825  0 ❌ ±0 
121 576 runs  +40 295  108 976 ✅ +36 113  12 600 💤 +4 182  0 ❌ ±0 

Results for commit 4436365. ± Comparison against base commit 29983ca.

This pull request removes 33588 and adds 50912 tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path23199dc8-6831-4d5e-adb1-b8aba7258458")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path51f9a795-f16b-48d6-9b7b-4d2d7c1792bb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path95dcd684-72b2-47d3-a8c7-43edef575e2c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathcf780358-e081-4e9e-8f09-9979ebcf24b3")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathd097384a-1304-4eff-a7f2-1485576b8076")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathd7ba4c85-5846-4a6c-a0d2-9fbbc31c804c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathdbf50770-9e4c-4e0c-a72e-ce9d56de74c5")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1e165546-5e6a-41eb-ac02-7b26be67e690")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3c77459e-e8cb-41a6-af25-c0ac7322ff13")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path42d2f738-5b24-4d94-ae86-658a5d35f16e")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path04771815-731d-4015-9949-dde076c05ffa")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path13125d3e-6cdb-4493-b35e-3025e9866e5a")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1556e091-6d76-4caa-bb70-0aba9d893ae4")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1e0f1292-6df9-4256-abf2-65a49a7a76b2")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path21932339-b318-42fd-b07c-c2991008fa97")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3dc4e855-6b76-43f6-ab6f-03c51996f0c2")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path578fff97-c57e-4f4b-abd9-6d5658cce3c5")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path5c608be4-9927-4e51-a4de-48b3c05752b1")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc41b1cc2-e089-44ad-9256-c3657694e1ef")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc8b6bf29-8c36-4a6b-9f87-1a4df8765508")
…
This pull request removes 1586 skipped tests and adds 2411 skipped tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path95dcd684-72b2-47d3-a8c7-43edef575e2c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathd097384a-1304-4eff-a7f2-1485576b8076")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathd7ba4c85-5846-4a6c-a0d2-9fbbc31c804c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathdbf50770-9e4c-4e0c-a72e-ce9d56de74c5")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1e165546-5e6a-41eb-ac02-7b26be67e690")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3c77459e-e8cb-41a6-af25-c0ac7322ff13")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path42d2f738-5b24-4d94-ae86-658a5d35f16e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathe0cf9585-1df7-43e4-bc7a-5f82479c1ba4")
Testably.Abstractions.Testing.Tests.FileSystem.FileMockTests ‑ GetUnixFileMode_SafeFileHandle_ShouldThrowPlatformNotSupportedExceptionOnWindows(path: "path37cd1710-c4c6-4523-b516-6930ff01b6c0")
Testably.Abstractions.Testing.Tests.FileSystem.FileMockTests ‑ GetUnixFileMode_SafeFileHandle_ShouldThrowPlatformNotSupportedExceptionOnWindows(path: "path7203e190-42b2-4942-a28c-9312434d03b8")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path04771815-731d-4015-9949-dde076c05ffa")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path13125d3e-6cdb-4493-b35e-3025e9866e5a")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1556e091-6d76-4caa-bb70-0aba9d893ae4")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path21932339-b318-42fd-b07c-c2991008fa97")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3dc4e855-6b76-43f6-ab6f-03c51996f0c2")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path578fff97-c57e-4f4b-abd9-6d5658cce3c5")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1539f5d4-e2e3-4665-b57a-e35b31d1a5b9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1ac7c0c2-9d5c-49a8-90d2-0a2bad7a9e2e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path88952470-323e-4032-b1cd-5601da6662ca")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb77e80b9-94e0-455a-aff2-cec10d6efeb8")
…

♻️ This comment has been updated with latest results.

- `string Combine(params ReadOnlySpan<string> paths)`
- `string Join(params ReadOnlySpan<string?> paths)`
- `void AppendAllBytes(string, byte[])`
- `void AppendAllBytes(string, ReadOnlySpan<byte>)`
- `Task AppendAllBytesAsync(string, byte[], CancellationToken)`
- `Task AppendAllBytesAsync(string, ReadOnlyMemory<byte>, CancellationToken)`
- `void AppendAllText(string, ReadOnlySpan<char>)`
- `void AppendAllText(string, ReadOnlySpan<char>, Encoding)`
- `Task AppendAllTextAsync(string, ReadOnlyMemory<char>, Encoding, CancellationToken)`
- `Task AppendAllTextAsync(string, ReadOnlyMemory<char>, CancellationToken)`
- `void WriteAllBytes(string, ReadOnlySpan<byte>)`
- `Task WriteAllBytesAsync(string, ReadOnlyMemory<byte>, CancellationToken)`
- `void WriteAllText(string, ReadOnlySpan<char>)`
- `void WriteAllText(string, ReadOnlySpan<char>, Encoding)`
- `Task WriteAllTextAsync(string, ReadOnlyMemory<char>, Encoding, CancellationToken)`
- `Task WriteAllTextAsync(string, ReadOnlyMemory<char>, CancellationToken)`
@vbreuss vbreuss marked this pull request as ready for review January 29, 2025 19:39
@vbreuss vbreuss enabled auto-merge (squash) January 29, 2025 19:39
@vbreuss vbreuss changed the title feat: add support for .NET9 feat: add FileSystem support for .NET9 Jan 29, 2025
@vbreuss vbreuss disabled auto-merge January 29, 2025 20:13
- `Guid CreateVersion7()`
- `Guid CreateVersion7(DateTimeOffset)`
@vbreuss vbreuss changed the title feat: add FileSystem support for .NET9 feat: add support for .NET9 Jan 29, 2025
@vbreuss vbreuss enabled auto-merge (squash) January 29, 2025 20:15
@sonarqubecloud
Copy link

@vbreuss vbreuss merged commit 0c552ac into main Jan 29, 2025
15 checks passed
@vbreuss vbreuss deleted the topic/support-net9 branch January 29, 2025 21:41
@vbreuss vbreuss linked an issue Feb 1, 2025 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Feb 1, 2025

This is addressed in release v4.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request state: released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

.NET9 support

2 participants