Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for .NET9 #735

Merged
merged 11 commits into from
Jan 29, 2025
Merged

feat: add support for .NET9 #735

merged 11 commits into from
Jan 29, 2025

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
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

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
@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
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
1 participant