ci: tag DAT-dependent tests into the InstalledDat lane; drop invariant workaround
Some checks failed
CI / linux-portable (push) Successful in 3m26s
CI / windows-gate (push) Failing after 5m2s
CI / release (push) Has been skipped

Three tests reached the CI gate needing the installed retail DATs, which no
build machine has, and failed with FileNotFoundException on client_cell_1.dat:
  - Issue127FloodFlipReplayTests (both facts replay via ResolveDatDir)
  - FindCellListConformanceTests.FindCellList_DoorwayThreshold_IndoorPicks_
    MatchRetail, the one untagged method among already-tagged siblings
They now carry [Trait("Lane", "InstalledDat")] like every other DAT test, so
the gate filter excludes them and the local DAT lane still runs them.

Also reverts the DOTNET_SYSTEM_GLOBALIZATION_INVARIANT pin from the previous
commit. It was too blunt: it fixed the 40 decimal-comma failures but broke
ChatLogTests.FormatTimestampPrefix_UsesLiteralColons_RegardlessOfCurrentCulture,
which legitimately constructs a culture and cannot under invariant mode. The
runner's HKCU locale (LocaleName=en-SE, sDecimal=',') was corrected to en-US
instead, which is the actual defect.
This commit is contained in:
Erik 2026-08-19 11:19:14 +02:00
parent c851ac79e5
commit c5492984ef
3 changed files with 2 additions and 9 deletions

View file

@ -41,15 +41,6 @@ jobs:
- name: Test (lane-filtered, streaming)
shell: pwsh
env:
# The gate must not depend on the runner's regional settings. This
# box reports en-US interactively but the scheduled task inherits
# en-SE (English/Sweden, COMMA decimal separator), which broke 40
# tests across four projects on formatted numbers alone —
# e.g. expected "update:0.25", got "update:0,25". Set-Culture does
# not reach a task that runs without loading the user profile, so
# pin globalization for the test processes instead.
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: '1'
run: |
$ErrorActionPreference = 'Stop'
$filter = 'Lane!=InstalledDat&Lane!=PreparedPackage&Lane!=Live&Lane!=Manual&Lane!=Windows&Lane!=Linux&Lane!=SystemFont&Purpose!=Diagnostic&Status!=KnownFailure'

View file

@ -30,6 +30,7 @@ namespace AcDream.App.Tests.Rendering;
/// bistable admission, and the bisect along the eye segment names the knife
/// edge.
/// </summary>
[Trait("Lane", "InstalledDat")]
public class Issue127FloodFlipReplayTests
{
private readonly ITestOutputHelper _out;

View file

@ -130,6 +130,7 @@ public class FindCellListConformanceTests
/// separate outdoor-entry validation.
/// </summary>
[Fact]
[Trait("Lane", "InstalledDat")]
public void FindCellList_DoorwayThreshold_IndoorPicks_MatchRetail()
{
var (cache, picks) = LoadThresholdGolden();