fix(ci): make launcher space guidance culture invariant
All checks were successful
CI / linux-portable (push) Successful in 3m23s
CI / windows-gate (push) Successful in 5m33s
CI / release (push) Successful in 2m8s

This commit is contained in:
Erik 2026-08-27 20:40:50 +02:00
parent cccae4169a
commit 45ba42a3a7
2 changed files with 35 additions and 21 deletions

View file

@ -1,4 +1,5 @@
using System.Diagnostics;
using System.Globalization;
using System.Text.Json.Nodes;
using AcDream.Launcher.Core.Integrity;
using AcDream.Launcher.Core.Installation;
@ -150,28 +151,37 @@ public sealed class LauncherInstallerTests : IDisposable
[Fact]
public async Task InsufficientFreeSpaceStopsBeforeBakeAndReportsExactRequirement()
{
bool childStarted = false;
var runner = new FakeBakeProcessRunner((_, _, _) =>
CultureInfo originalCulture = CultureInfo.CurrentCulture;
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("sv-SE");
try
{
childStarted = true;
return Task.FromResult(new BakeProcessResult(0, string.Empty));
});
var installer = new LauncherInstaller(
_paths,
_bakeExecutable,
processRunner: runner,
availableFreeSpace: _ =>
LauncherInstaller.FullRebuildRequiredFreeBytes - 1);
bool childStarted = false;
var runner = new FakeBakeProcessRunner((_, _, _) =>
{
childStarted = true;
return Task.FromResult(new BakeProcessResult(0, string.Empty));
});
var installer = new LauncherInstaller(
_paths,
_bakeExecutable,
processRunner: runner,
availableFreeSpace: _ =>
LauncherInstaller.FullRebuildRequiredFreeBytes - 1);
LauncherInstallException error = await Assert.ThrowsAsync<LauncherInstallException>(
() => installer.InstallAsync(_dats, threads: 2));
LauncherInstallException error = await Assert.ThrowsAsync<LauncherInstallException>(
() => installer.InstallAsync(_dats, threads: 2));
Assert.False(childStarted);
Assert.Contains("2.0 GiB", error.Message, StringComparison.Ordinal);
Assert.Contains("active package", error.Message, StringComparison.Ordinal);
Assert.False(File.Exists(
LauncherInstaller.GetFullRebuildCandidatePath(
Path.Combine(_paths.DataDirectory, "pak", "acdream.pak"))));
Assert.False(childStarted);
Assert.Contains("2.0 GiB", error.Message, StringComparison.Ordinal);
Assert.Contains("active package", error.Message, StringComparison.Ordinal);
Assert.False(File.Exists(
LauncherInstaller.GetFullRebuildCandidatePath(
Path.Combine(_paths.DataDirectory, "pak", "acdream.pak"))));
}
finally
{
CultureInfo.CurrentCulture = originalCulture;
}
}
[Fact]