Skip to content

Conversation

@vbreuss
Copy link
Member

@vbreuss vbreuss commented Jan 10, 2025

Fix the following rules:

  • Fix MA0053: Make class sealed
  • Fix MA0098: Use '[]' instead of 'First()'
  • Fix MA0029: Combine 'Where' with 'Where'
  • Fix MA0154: Use langword in XML comment

Disable the following rules:

and fix or suppress some warnings
@vbreuss vbreuss added refactor A change or improvement without functional impact coverage Additional tests for edge cases or improvement of test coverage labels Jan 10, 2025
@vbreuss vbreuss self-assigned this Jan 10, 2025
@github-actions
Copy link

github-actions bot commented Jan 10, 2025

👽 Mutation Results

Mutation testing badge

Testably.Abstractions.Testing

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants
FileSystem/FileMock.cs 15.38% 24 19 0 113 104 6 24 132 266
FileSystem/FileStreamMock.cs 10.90% 17 0 0 139 69 0 17 139 225
FileSystem/FileSystemWatcherMock.cs 6.72% 9 3 0 122 60 4 9 125 198
Helpers/Execute.LinuxPath.cs 78.72% 37 0 0 10 9 0 37 10 56
Helpers/Execute.MacPath.cs 100.00% 2 0 0 0 1 0 2 0 3
Helpers/Execute.NativePath.cs 58.82% 10 4 0 3 5 0 10 7 22
Helpers/Execute.SimulatedPath.cs 25.96% 88 0 0 251 89 2 88 251 430
Helpers/Execute.WindowsPath.cs 38.46% 75 0 0 120 25 10 75 120 230
Helpers/FileSystemExtensibility.cs 50.00% 5 0 0 5 6 3 5 5 19
RandomSystem/RandomMock.cs 100.00% 45 0 0 0 14 0 45 0 59
Statistics/ParameterDescription.cs 94.12% 16 0 0 1 8 12 16 1 37
Statistics/PathStatistics.cs 61.90% 26 0 0 16 21 0 26 16 63
Storage/InMemoryContainer.cs 0.00% 0 0 0 105 36 1 0 105 142
Storage/StorageExtensions.cs 11.11% 3 0 0 24 7 1 3 24 35

The final mutation score is 27.63%

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

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
Internal\ZipUtilities.cs 90.59% 77 5 0 3 36 7 77 8 128
ZipArchiveEntryWrapper.cs 100.00% 7 0 0 0 3 0 7 0 10
ZipArchiveWrapper.cs 100.00% 10 0 0 0 8 0 10 0 18

The final mutation score is 92.16%

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\FileSystemExtensibility.cs 100.00% 8 0 0 0 2 0 8 0 10

The final mutation score is 100.00%

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

@vbreuss vbreuss marked this pull request as ready for review January 10, 2025 15:55
@vbreuss vbreuss enabled auto-merge (squash) January 10, 2025 15:55
@sonarqubecloud
Copy link

@vbreuss vbreuss merged commit 3c033dd into main Jan 10, 2025
15 checks passed
@vbreuss vbreuss deleted the topic/update-analyzer-and-nowarn branch January 10, 2025 16:15
@github-actions
Copy link

Test Results

     46 files  ±0       46 suites  ±0   22m 29s ⏱️ +11s
 55 195 tests  - 4   52 221 ✅  - 3   2 974 💤 ±0  0 ❌  - 1 
114 383 runs  ±0  102 082 ✅ +1  12 301 💤 ±0  0 ❌  - 1 

Results for commit ed77098. ± Comparison against base commit 9406d1f.

This pull request removes 47536 and adds 47532 tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path02115d73-ec5f-4dcf-8cb2-611ac04cb2cb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path5056f1a6-8a50-430c-a404-13ab0297276c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path6115c392-38a7-4e2a-be7f-5d7e6c295e75")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path7558545b-3888-46b5-bba4-2b0acaf343b4")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path78b7e69d-fba3-406f-b2e5-900c10aa72b1")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patha72ca28e-b217-4cce-b14c-da004ebdcd75")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patha77cb440-943e-4208-b5ed-277d9ad9e93d")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb139fa0e-509e-4685-ba71-2ea3bc6600b8")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathcd4b1b03-87fb-4412-aaa6-5af0c88cdd8f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path13fe2e69-90d2-4299-968a-8e6ab053719f")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path02ede213-53ec-403e-bbde-9d73fa72fcc9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path099097f4-4a25-4113-b481-7f034b6a32eb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path18889f50-d21c-41a8-9944-84823f313cd6")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path97737e9b-4ec2-4dc1-8f5d-48a3d3738939")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path9cb316f1-8189-4703-a672-f7bd549f5db0")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb4fd6d29-6963-4d9d-9988-c6ee0fc1c44f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb58cde59-b6aa-42df-a589-08bdb604a91c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc134eca1-de78-4758-a7a6-a81bf08a0b16")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathf7c813c1-ac63-4d14-af2a-07fcd3268687")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path17356dc8-d1b6-4870-9297-0b017d11bf37")
…
This pull request removes 2351 skipped tests and adds 2351 skipped tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path02115d73-ec5f-4dcf-8cb2-611ac04cb2cb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path5056f1a6-8a50-430c-a404-13ab0297276c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path7558545b-3888-46b5-bba4-2b0acaf343b4")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path78b7e69d-fba3-406f-b2e5-900c10aa72b1")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patha77cb440-943e-4208-b5ed-277d9ad9e93d")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathcd4b1b03-87fb-4412-aaa6-5af0c88cdd8f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path13fe2e69-90d2-4299-968a-8e6ab053719f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path34a828b6-e302-4d40-a57d-870ddf891c49")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path622b0848-88a0-4cbf-81a1-c96d91a09378")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path776a050b-e213-4e2e-868d-078842eb3492")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path02ede213-53ec-403e-bbde-9d73fa72fcc9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path099097f4-4a25-4113-b481-7f034b6a32eb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path18889f50-d21c-41a8-9944-84823f313cd6")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path9cb316f1-8189-4703-a672-f7bd549f5db0")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb4fd6d29-6963-4d9d-9988-c6ee0fc1c44f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathf7c813c1-ac63-4d14-af2a-07fcd3268687")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path17356dc8-d1b6-4870-9297-0b017d11bf37")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1c0c4efe-c958-4632-9c6e-ca410fc5dbc2")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path46948aaf-db8c-4d9d-b7b8-cb12b27ca3f8")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patha6710fed-9340-4608-afdf-659becded4e4")
…

@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

coverage Additional tests for edge cases or improvement of test coverage refactor A change or improvement without functional impact state: released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants