test: serialize AcDream.Core.Net.Tests so real-time transport waits are not starved
PausedSelector_SeededDroppedServerReady_RecoversOnIdleSweep failed twice in CI on the Linux runner, taking 37 s and 42 s, while passing 5/5 in ~350 ms in isolation on that same machine. The test drives a virtual clock but asserts on real-time 2 s SpinUntil windows, so full-assembly parallelism on a 6-core container starves it. Passing -- xUnit.MaxParallelThreads=2 through dotnet test did not take effect. A xunit.runner.json is read by xUnit directly and is the convention already used by AcDream.Core.Tests and AcDream.Launcher.Tests.
This commit is contained in:
parent
6ef82934dc
commit
03bcc1a41b
2 changed files with 17 additions and 0 deletions
|
|
@ -22,4 +22,15 @@
|
|||
<ProjectReference Include="..\..\src\AcDream.Core.Net\AcDream.Core.Net.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Several transport tests drive a virtual clock but assert on REAL-time
|
||||
waits (2 s SpinUntil windows). Under default parallelism on a small CI
|
||||
container PausedSelector_SeededDroppedServerReady_RecoversOnIdleSweep
|
||||
took 37-42 s and missed its window, while passing 5/5 in ~350 ms in
|
||||
isolation on the same machine. Serialize the assembly rather than
|
||||
loosen a Campaign N transport assertion. Same settings
|
||||
AcDream.Core.Tests and AcDream.Launcher.Tests already use. -->
|
||||
<None Update="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
6
tests/AcDream.Core.Net.Tests/xunit.runner.json
Normal file
6
tests/AcDream.Core.Net.Tests/xunit.runner.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
|
||||
"parallelizeAssembly": false,
|
||||
"parallelizeTestCollections": false,
|
||||
"maxParallelThreads": 1
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue