Skip to content

chore: align the repository with aweXpect - #892

Merged
vbreuss merged 2 commits into
mainfrom
chore/align-repository
Oct 18, 2026
Merged

vbreuss merged 2 commits into
mainfrom
chore/align-repository

Conversation

@vbreuss

@vbreuss vbreuss commented Oct 18, 2026

Copy link
Copy Markdown
Member

The tests use the latest aweXpect release, the line-ending rule for solutions targets .slnx, which replaced the .sln file it still named, and the team settings are renamed after the .slnx solution, because Rider only picks up a .DotSettings file named after the solution file it opens.

@vbreuss vbreuss self-assigned this Oct 18, 2026
@vbreuss
vbreuss added this pull request to stack #893 October 18, 2026 08:36
@github-actions

Copy link
Copy Markdown

Test Results

    24 files  ±0      24 suites  ±0   9m 43s ⏱️ -40s
 4 529 tests ±0   4 527 ✅ ±0  2 💤 ±0  0 ❌ ±0 
28 684 runs  ±0  28 680 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit 258bcda. ± Comparison against base commit 85c1a56.

Copilot AI balanced review requested due to automatic review settings October 18, 2026 11:40
@vbreuss
vbreuss force-pushed the chore/align-repository branch from 258bcda to afed899 Compare October 18, 2026 11:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

CI-Analysis runs with repository secrets on artifacts that a pull request controls, and it trusted the pull request number, branch name and comment body in them. A pull request could therefore comment on any pull request, overwrite the mutation score of `main` or mention users. The pull request and the dashboard version now come from the `workflow_run` event alone, artifacts are checked for symbolic links, the report is validated before the upload, comment content is defused, and only comments of the pipeline are updated. The mutation job of CI-Analysis now also publishes pull request reports to the dashboard, which the comment's badge links to.

A release tag that is no valid version now fails the build instead of producing an odd package version. Stryker is pinned to 5.0.0 through the build project so that Dependabot updates it, GitVersion and ReportGenerator run on .NET 10 like in the other repositories, Sonar reads the generic coverage format, which keeps the lines of lambdas in generic classes, the mutation targets follow the names of aweXpect, and all actions are pinned to a commit. Dependabot no longer bumps Roslyn, because the analyzers and the source generator only load in compilers at least as new as the Roslyn they reference.
The tests use the latest aweXpect release, the line-ending rule for solutions targets `.slnx`, which replaced the `.sln` file it still named, and the team settings are renamed after the `.slnx` solution, because Rider only picks up a `.DotSettings` file named after the solution file it opens.
@vbreuss
vbreuss force-pushed the chore/align-repository branch from afed899 to 635d04a Compare October 18, 2026 11:41
Base automatically changed from ci/harden-pr-analysis to main October 18, 2026 11:42
@vbreuss
vbreuss merged commit 0924283 into main Oct 18, 2026
14 checks passed
@vbreuss
vbreuss deleted the chore/align-repository branch October 18, 2026 11:42
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

👽 Mutation Results

Mutation testing badge

Mockolate

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Runtime 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
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Method N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 291.2 ns 8.78 ns 8.21 ns 0.84 1.93 KB 1.00
Mockolate 1 346.7 ns 3.41 ns 3.03 ns 1.00 1.93 KB 1.00
Imposter 1 537.9 ns 2.51 ns 2.09 ns 1.55 3.96 KB 2.05
TUnitMocks 1 465.9 ns 4.16 ns 3.89 ns 1.34 2.02 KB 1.05
Moq 1 184,407.5 ns 516.07 ns 430.94 ns 531.95 14.58 KB 7.55
NSubstitute 1 6,283.8 ns 62.08 ns 55.03 ns 18.13 9.12 KB 4.72
FakeItEasy 1 5,967.4 ns 61.74 ns 57.75 ns 17.21 8.05 KB 4.17
baseline* 10 535.8 ns 5.49 ns 5.14 ns 0.82 2.14 KB 1.00
Mockolate 10 656.3 ns 5.50 ns 5.15 ns 1.00 2.14 KB 1.00
Imposter 10 896.5 ns 9.36 ns 8.76 ns 1.37 4.8 KB 2.24
TUnitMocks 10 1,359.8 ns 6.96 ns 5.81 ns 2.07 3.73 KB 1.74
Moq 10 188,167.2 ns 538.08 ns 476.99 ns 286.72 18.48 KB 8.63
NSubstitute 10 8,987.6 ns 50.17 ns 46.93 ns 13.69 12.07 KB 5.64
FakeItEasy 10 9,183.7 ns 88.20 ns 78.19 ns 13.99 15.42 KB 7.20
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.85GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 236.4 ns 2.00 ns 1.87 ns 0.77 1.7 KB 1.00
Mockolate 306.0 ns 12.80 ns 11.97 ns 1.00 1.7 KB 1.00
Imposter 1,012.7 ns 32.07 ns 30.00 ns 3.31 7.18 KB 4.22
TUnitMocks 195.9 ns 3.35 ns 3.14 ns 0.64 1.34 KB 0.79
Moq 16,073.6 ns 57.30 ns 53.60 ns 52.59 12.51 KB 7.35
NSubstitute 5,994.0 ns 71.92 ns 67.28 ns 19.61 9.05 KB 5.31
FakeItEasy 218,278.5 ns 2,662.81 ns 2,490.80 ns 714.23 15.26 KB 8.96
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 362.1 ns 8.31 ns 7.77 ns 1.12 1.57 KB 1.00
Mockolate 324.7 ns 6.98 ns 5.83 ns 1.00 1.57 KB 1.00
Imposter 431.9 ns 4.32 ns 4.04 ns 1.33 2.37 KB 1.51
TUnitMocks 512.0 ns 5.84 ns 5.18 ns 1.58 2 KB 1.27
Moq 100,305.2 ns 437.01 ns 408.78 ns 309.02 8.88 KB 5.66
NSubstitute 4,753.3 ns 31.25 ns 29.23 ns 14.64 7.71 KB 4.91
FakeItEasy 4,796.1 ns 25.96 ns 23.02 ns 14.78 6.81 KB 4.33
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Indexer N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 1,058.5 ns 26.48 ns 23.47 ns 1.18 3.77 KB 1.00
Mockolate 1 896.1 ns 7.55 ns 6.30 ns 1.00 3.77 KB 1.00
Imposter 1 822.3 ns 16.45 ns 15.39 ns 0.92 4.99 KB 1.33
Moq 1 220,592.3 ns 4,454.81 ns 3,949.07 ns 246.19 20.25 KB 5.38
NSubstitute 1 10,487.8 ns 114.28 ns 101.31 ns 11.70 12.78 KB 3.39
FakeItEasy 1 12,039.1 ns 127.22 ns 119.00 ns 13.44 13.63 KB 3.62
baseline* 10 2,596.8 ns 17.14 ns 16.03 ns 1.01 4.82 KB 1.00
Mockolate 10 2,582.7 ns 44.62 ns 41.74 ns 1.00 4.82 KB 1.00
Imposter 10 1,603.3 ns 35.77 ns 33.46 ns 0.62 6.47 KB 1.34
Moq 10 233,492.1 ns 2,073.39 ns 1,939.45 ns 90.43 28.64 KB 5.94
NSubstitute 10 26,070.8 ns 92.48 ns 81.98 ns 10.10 25.58 KB 5.31
FakeItEasy 10 26,009.0 ns 101.40 ns 84.67 ns 10.07 32.97 KB 6.84
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 9.887 ns 0.1868 ns 0.1656 ns 0.42 160 B 1.00
Mockolate 23.52 ns 1.310 ns 1.226 ns 1.00 160 B 1.00
Imposter 325.20 ns 11.609 ns 10.859 ns 13.86 2240 B 14.00
TUnitMocks 43.91 ns 0.890 ns 0.789 ns 1.87 200 B 1.25
Moq 1,506.39 ns 18.229 ns 17.051 ns 64.23 2096 B 13.10
NSubstitute 2,174.14 ns 13.763 ns 12.200 ns 92.69 5048 B 31.55
FakeItEasy 1,896.51 ns 46.257 ns 38.627 ns 80.86 2763 B 17.27
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Property N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 531.7 ns 21.36 ns 19.98 ns 0.98 2.41 KB 1.00
Mockolate 1 542.1 ns 27.88 ns 26.08 ns 1.00 2.41 KB 1.00
Imposter 1 468.6 ns 30.12 ns 28.17 ns 0.87 2.98 KB 1.23
TUnitMocks 1 505.7 ns 6.32 ns 5.60 ns 0.93 1.64 KB 0.68
Moq 1 12,246.1 ns 47.33 ns 41.95 ns 22.64 10.39 KB 4.30
NSubstitute 1 8,022.8 ns 181.45 ns 169.73 ns 14.83 11.45 KB 4.74
FakeItEasy 1 8,905.1 ns 66.01 ns 55.12 ns 16.46 11.24 KB 4.66
baseline* 10 1,008.5 ns 5.49 ns 4.86 ns 0.98 2.91 KB 1.00
Mockolate 10 1,024.0 ns 18.01 ns 16.85 ns 1.00 2.91 KB 1.00
Imposter 10 675.5 ns 23.23 ns 21.73 ns 0.66 3.26 KB 1.12
TUnitMocks 10 1,661.2 ns 50.22 ns 46.97 ns 1.62 3.94 KB 1.35
Moq 10 18,889.9 ns 172.37 ns 152.80 ns 18.45 18.28 KB 6.29
NSubstitute 10 17,154.4 ns 234.19 ns 219.06 ns 16.76 21.08 KB 7.25
FakeItEasy 10 20,261.1 ns 195.23 ns 173.07 ns 19.79 30.81 KB 10.60

baseline* rows show the corresponding Mockolate benchmark from the most recent successful main branch build with results, for regression comparison.

github-actions Bot added a commit that referenced this pull request Oct 18, 2026
github-actions Bot added a commit that referenced this pull request Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants