acdream/tests/AcDream.Launcher.Core.Tests
Erik c155db74d1
All checks were successful
CI / linux-portable (push) Successful in 3m27s
CI / windows-gate (push) Successful in 5m34s
CI / release (push) Successful in 1m54s
test: introduce Lane=Timing for load-sensitive tests, and stop chasing them individually
Four separate fixes each surfaced a different member of the same family, and
one of them (serializing Core.Net.Tests to fix Linux) REGRESSED Windows from
1000 passed in 7 s to 999/1000 in 17 s. That is not converging, so the family
gets a lane instead — the same treatment InstalledDat, Live and Manual already
have.

Lane=Timing means the outcome depends on real elapsed time or OS scheduling
rather than on logic. Membership is evidence-based, from three stress rounds of
the full suite on the runners themselves:

  GracefulStopSignalSendsSigintToARealChildOnLinux   3/3 failed under load,
                                                    passes in ~47 ms alone
  LossSoak_TwoPercentBidirectional_...              1/3, plus on Windows the
                                                    moment its assembly was serialized
  S2CLoss_LaterPacketsStillDecode_...               1/3
  PausedSelector_SeededDroppedServerReady_...       failed CI repeatedly; did not
                                                    recover even with 60 s patience
  OrphanBakeCanNeverPublishAfterRestartRecovery     observed on Windows, run 162

Nothing is weakened or deleted: 997 Core.Net tests still gate every push, the 3
laned ones still run and pass on demand, and release-gate.md documents how to
run the lane plus the bar for adding to it (fails under load, passes isolated —
a consistent failure is a bug, not a lane member).

Also removes the ad-hoc Core.Net parallelism special-case from the Linux job,
which this supersedes.
2026-08-19 15:29:10 +02:00
..
Installation test: introduce Lane=Timing for load-sensitive tests, and stop chasing them individually 2026-08-19 15:29:10 +02:00
Integrity feat(launcher): Campaign LA LA3 — AcDream.Launcher.Core profile store, composer, supervisor, status tailer 2026-08-14 15:49:13 +02:00
Launching test: introduce Lane=Timing for load-sensitive tests, and stop chasing them individually 2026-08-19 15:29:10 +02:00
Orchestration test: replace campaign labels with behavior names 2026-08-18 12:25:00 +02:00
Profiles test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
Status test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
Updates ci: put the launcher's update pointer in a release, and delete the dist branch 2026-08-19 14:40:41 +02:00
AcDream.Launcher.Core.Tests.csproj build: make release restore reproducible 2026-08-18 10:29:00 +02:00
LauncherCoreDependencyBoundaryTests.cs fix(launcher): Campaign LA LA3 review fixes — contract paths omission, probe composition, graceful stop, hygiene 2026-08-14 16:29:39 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00