champions-of-luneraria/tools/run_core_tests.sh
Martin Stickelbroeck 44d3bcdee9 U1.5 Unity Core Integration (1/2): Unity-Projekt, Test Runner, Diagnose
- Projekt mit Unity 6.3 LTS (6000.3.20f1, Personal) geöffnet: ProjectSettings,
  .meta-Dateien, URP-Global-Settings, packages-lock.json.
- Manifest auf die benötigten Pakete zurückgeführt; Unity hatte beim ersten
  Öffnen Vorlagenpakete ergänzt (Purchasing, Analytics, Collab, XR, 2D, Navigation).
- Test Runner: Die U1-Suiten laufen unverändert als EditMode-Tests; mit
  LUNE_TEST_REPORT schreiben .NET und Unity dasselbe JSON-Protokoll (SuiteReport).
- Golden-Vergleich zusätzlich je Fachbereich (Gold, HP, Positionen, Türme,
  Ancients, Wellen, Helden, Boss, Gewinner, ...). Nur Bericht; Testwerte und
  Prüfungsanzahl unverändert.
- Diagnose: FloatProbe (Kern-Arithmetik gegen Godot-Bits und Auswertungsart der
  Laufzeit), DivergenceTrace und tools/port/trace_diff.py (erster abweichender
  Schritt), CoreBenchmark für .NET und Editor, CoreBatch als -executeMethod-Einstieg.
- .NET-Harness baut nach tools/out/, weil Unity Temp/ beim Beenden löscht.
- .gitignore ignoriert nur noch die csproj/sln im Projektwurzelverzeichnis;
  die Projektdateien des .NET-Harness fehlten deshalb in U1 und kommen jetzt dazu.

Stand dieses Commits im Unity-Editor (Mono): 4 von 5 Suiten grün; golden
152/157, weil Mono float32-Zwischenwerte doppelt genau rechnet (Teil 2/2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:19:08 +02:00

15 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# Core tests outside Unity: builds the rules (netstandard2.1, C# 9 = Unity's level) and runs
# every suite with the .NET SDK. The JSON protocol goes to $LUNE_TEST_REPORT
# (default tools/out/core-tests-dotnet.json; milestone logs live in docs/port/logs/<milestone>/).
# Optional: REGENERATE_GOLDEN=1 re-creates the Godot references first (needs ../saumwacht-godot).
set -eu
cd "$(dirname "$0")/.."
if [ "${REGENERATE_GOLDEN:-0}" = "1" ]; then
sh tools/godot-golden/run_godot.sh content_export --out="$PWD/Assets/Luneraria/Tests/Core/Golden/content.json"
sh tools/godot-golden/run_godot.sh golden_scenarios --in="$PWD/Assets/Luneraria/Tests/Core/Golden/scenarios.json" --out="$PWD/Assets/Luneraria/Tests/Core/Golden/golden.json"
fi
dotnet build tools/dotnet/Luneraria.Core/Luneraria.Core.csproj -c Release -nologo -v q
dotnet build tools/dotnet/Luneraria.Core.Tests/Luneraria.Core.Tests.csproj -c Release -nologo -v q
LUNE_TEST_REPORT="${LUNE_TEST_REPORT:-$PWD/tools/out/core-tests-dotnet.json}" \
dotnet tools/out/dotnet/bin/Luneraria.Core.Tests/Release/net8.0/Luneraria.Core.Tests.dll "$@"