Skip to content

Conversation

@vbreuss
Copy link
Member

@vbreuss vbreuss commented Jan 21, 2026

This PR addresses SonarCloud issues by refactoring code to eliminate static analysis warnings. The changes focus on improving code quality without altering functionality.

Key Changes:

  • Removed redundant multiplication by zero in timer configurations
  • Replaced GetCustomAttribute<T>() with more efficient IsDefined() calls
  • Added pragma directives to suppress unavoidable SonarCloud warnings for complexity and parameter count

@vbreuss vbreuss self-assigned this Jan 21, 2026
@vbreuss vbreuss added the refactor A change or improvement without functional impact label Jan 21, 2026
Copilot AI review requested due to automatic review settings January 21, 2026 14:46
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses SonarCloud issues by refactoring code to eliminate static analysis warnings. The changes focus on improving code quality without altering functionality.

Changes:

  • Removed redundant multiplication by zero in timer configurations
  • Replaced GetCustomAttribute<T>() with more efficient IsDefined() calls
  • Added pragma directives to suppress unavoidable SonarCloud warnings for complexity and parameter count

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
Tests/Testably.Abstractions.Tests/TimeSystem/TimerTests.cs Fixed timer delays by removing multiplication by zero
Tests/Testably.Abstractions.Testing.Tests/Statistics/StatisticsTests.Helpers.cs Optimized obsolete attribute checking using IsDefined()
Source/Testably.Abstractions.Testing/Statistics/CallStatistics.cs Suppressed parameter count warning for method with 7 parameters
Source/Testably.Abstractions.Testing/FileSystem/FileStreamMock.cs Suppressed cognitive complexity warning for constructor

@vbreuss vbreuss enabled auto-merge (squash) January 21, 2026 14:49
@github-actions
Copy link

Test Results

     52 files  ±0       52 suites  ±0   34m 15s ⏱️ -19s
 63 871 tests ±0   60 257 ✅  - 1   3 613 💤 ±0  1 ❌ +1 
131 773 runs  ±0  117 262 ✅  - 1  14 510 💤 ±0  1 ❌ +1 

For more details on these failures, see this check.

Results for commit 359e6f5. ± Comparison against base commit 68305d1.

This pull request removes 55342 and adds 55342 tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path386a016e-4653-4511-bd9e-07d84eb372c9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path39e75df1-15b9-4c29-ae25-eff1525ba1f3")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path8926209c-c845-46fb-93b5-0b5660431403")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path8e4e98ba-bfc5-4550-b84b-5a984d961a61")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb2619ebc-c401-4c54-8163-e19900b5de17")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc28e99e5-7cb9-4578-878b-fbc753039457")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc2f8eb37-bed4-4eb3-b65c-77660de90571")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathe6104a9e-05dd-4cba-aa05-ea70531d26bb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patheb984696-586c-4bc2-af9d-19290404918e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathf7dd4779-0863-4c31-81fe-a566bb3a603d")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path0f2c7dee-573f-42da-bfa3-c2fe7c1a4f3a")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path24cdce48-7337-460a-a4cd-6ccb1c5908ec")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path2f434bcb-be16-4727-9b26-398eee897b8e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3357da80-7de9-4f51-b73e-dd21b4b46d8e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3e5897d3-2bb2-4e77-9b4a-6b579d4d81eb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path49586901-2b15-4d76-9281-4a1f2b36ee80")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path4e2126de-22f8-477e-99dd-5f0015d2fcb3")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb6690865-3a97-4b06-9cf9-c239a514bdcc")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathdb85a995-449f-45ee-9762-2e9210453d1e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathe1d97176-85e3-464b-8936-a9bb76444092")
…
This pull request removes 2920 skipped tests and adds 2920 skipped tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path386a016e-4653-4511-bd9e-07d84eb372c9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb2619ebc-c401-4c54-8163-e19900b5de17")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc28e99e5-7cb9-4578-878b-fbc753039457")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathc2f8eb37-bed4-4eb3-b65c-77660de90571")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathe6104a9e-05dd-4cba-aa05-ea70531d26bb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patheb984696-586c-4bc2-af9d-19290404918e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path40af1a4e-4374-43c0-84ba-3904abc83d01")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path67405bba-31ea-4695-9ac0-201536acb8c5")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "patha7346860-2f12-42db-870d-5edec3f52b4b")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathcd307f25-0881-4b1a-b35d-7f7f1c03ec43")
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path0f2c7dee-573f-42da-bfa3-c2fe7c1a4f3a")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path24cdce48-7337-460a-a4cd-6ccb1c5908ec")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path2f434bcb-be16-4727-9b26-398eee897b8e")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path3e5897d3-2bb2-4e77-9b4a-6b579d4d81eb")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path4e2126de-22f8-477e-99dd-5f0015d2fcb3")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+MockFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "pathb6690865-3a97-4b06-9cf9-c239a514bdcc")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path0d98e9e6-1a7c-4c57-9f41-323e9a742068")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path27af855d-77f9-47d9-b956-fbc8adeecf70")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path2ccb13a8-97c9-4409-8cad-ac01b923cdc9")
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests+RealFileSystemTests ‑ SetAccessControl_ShouldNotUpdateTimes(path: "path489d37da-a825-4fee-a57a-5a38ac01acb3")
…

@sonarqubecloud
Copy link

@vbreuss vbreuss merged commit 74b4a33 into main Jan 21, 2026
13 checks passed
@vbreuss vbreuss deleted the topic/fix-sonar-issues branch January 21, 2026 16:32
@github-actions
Copy link

This is addressed in release v5.0.3.

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