Skip to content

Conversation

@vbreuss
Copy link
Member

@vbreuss vbreuss commented Jan 13, 2025

Use an incremental source generator (see here) for creating the test classes.

Replace inheritance with a marker attribute, so for the test classes you have to write

[FileSystemTests]
public partial class Tests
{
    // your tests...
}

instead of

public abstract partial class Tests<TFileSystem>
	: FileSystemTestBase<TFileSystem>
	where TFileSystem : IFileSystem
{
    // your tests...
}

@vbreuss vbreuss added the refactor A change or improvement without functional impact label Jan 13, 2025
@vbreuss vbreuss self-assigned this Jan 13, 2025
@github-actions
Copy link

github-actions bot commented Jan 13, 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

The final mutation score is NaN%

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

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

The final mutation score is NaN%

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

@github-actions
Copy link

github-actions bot commented Jan 13, 2025

Test Results

     46 files  ±0       46 suites  ±0   23m 27s ⏱️ + 1m 33s
 55 197 tests +3   52 223 ✅ +3   2 974 💤 ±0  0 ❌ ±0 
114 815 runs  ±0  102 514 ✅ ±0  12 301 💤 ±0  0 ❌ ±0 

Results for commit 5f03407. ± Comparison against base commit b6f978e.

This pull request removes 54279 and adds 54282 tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.MockFileSystemTests ‑ GetExtensibilityOrThrow_DirectoryInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.MockFileSystemTests ‑ GetExtensibilityOrThrow_FileInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.MockFileSystemTests ‑ GetExtensibilityOrThrow_FileSystemStream_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.RealFileSystemTests ‑ GetExtensibilityOrThrow_DirectoryInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.RealFileSystemTests ‑ GetExtensibilityOrThrow_FileInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests.RealFileSystemTests ‑ GetExtensibilityOrThrow_FileSystemStream_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.MockFileSystemTests ‑ CreateDirectory_NullDirectorySecurity_ShouldThrowArgumentNullException
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.MockFileSystemTests ‑ CreateDirectory_ShouldChangeAccessControl(path: "bar")
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.MockFileSystemTests ‑ CreateDirectory_ShouldChangeAccessControl(path: "bar\\foo")
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.MockFileSystemTests ‑ GetAccessControl_ShouldBeInitializedWithNotNullValue
…
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+MockFileSystemTests ‑ GetExtensibilityOrThrow_DirectoryInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+MockFileSystemTests ‑ GetExtensibilityOrThrow_FileInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+MockFileSystemTests ‑ GetExtensibilityOrThrow_FileSystemStream_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+RealFileSystemTests ‑ GetExtensibilityOrThrow_DirectoryInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+RealFileSystemTests ‑ GetExtensibilityOrThrow_FileInfo_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.AccessControlHelperTests+RealFileSystemTests ‑ GetExtensibilityOrThrow_FileSystemStream_ShouldNotThrow
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+MockFileSystemTests ‑ CreateDirectory_NullDirectorySecurity_ShouldThrowArgumentNullException
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+MockFileSystemTests ‑ CreateDirectory_ShouldChangeAccessControl(path: "bar")
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+MockFileSystemTests ‑ CreateDirectory_ShouldChangeAccessControl(path: "bar\\foo")
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+MockFileSystemTests ‑ GetAccessControl_ShouldBeInitializedWithNotNullValue
…
This pull request removes 2973 skipped tests and adds 2973 skipped tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.RealFileSystemTests ‑ GetAccessControl_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests.RealFileSystemTests ‑ GetAccessControl_WithAccessControlSections_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path081b8ffe-9b15-440f-bee2-1aa3273ddac4")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path1173236b-4346-44c9-9f9f-8d099a82c1a9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3bcab6d7-cdf2-44fe-83a7-999950d2e244")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path5f9263ef-540b-4a5a-b721-94950b6f3dc8")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathd2224328-520a-44f3-9a84-0cea073b594f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathf6a08f81-5b3e-4570-81b1-ddcb199eb7d7")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ GetAccessControl_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests.RealFileSystemTests ‑ GetAccessControl_WithAccessControlSections_ShouldReturnSetResult
…
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+RealFileSystemTests ‑ GetAccessControl_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryAclExtensionsTests+RealFileSystemTests ‑ GetAccessControl_WithAccessControlSections_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path2e287d7d-36c3-4794-a544-2fd5b48ad27b")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path656d1cb3-d1b3-49b7-9d5f-0bbcc3dc506e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path7ec8068f-79d8-4e23-867d-8d7da9d19db7")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path9436bbdb-e144-48b7-8338-77c64885e46f")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathe719a50d-0ebd-45bb-a9cd-9d1208677a9c")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathfb24f5b4-f3a1-440a-a387-b559807bd702")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ GetAccessControl_ShouldReturnSetResult
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ GetAccessControl_WithAccessControlSections_ShouldReturnSetResult
…

♻️ This comment has been updated with latest results.

# Conflicts:
#	Tests/Helpers/Testably.Abstractions.Tests.SourceGenerator/ClassGenerators/FileSystemClassGenerator.cs
@vbreuss vbreuss enabled auto-merge (squash) January 14, 2025 11:38
@sonarqubecloud
Copy link

@vbreuss vbreuss merged commit 5662239 into main Jan 14, 2025
14 checks passed
@vbreuss vbreuss deleted the topic/change-to-incremental-sourcegenerator branch January 14, 2025 12:24
@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

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