1
0
Fork 0

refactor(P6): 死코드 제거 + publish 전 테스트 게이트 (안전 부분)

GUI 위험 없는 P6 부분만 선반영(병렬화·ResourceLimits·ILogger·진행률 변경은 GUI 스모크 필요로 보류).

- HistoryStore.cs의 死코드 HistoryStore 클래스 제거(인메모리 ObservableCollection, 미인스턴스화).
  App은 정적 HistoryStorage + jsonl 영속화만 사용. HistoryEntry record는 보존(HistoryStorage/MainWindow 의존)
  → 파일명을 HistoryEntry.cs로 정합화(rename).
- packaging/BuildMsix.ps1: publish 직전 [0/5] dotnet test 게이트 추가 — 실패 시 패키징 중단.
  적대적 리뷰의 '최후 방어선'(회귀가 MSIX/서명까지 새는 것 차단). BuildAndSign 경유도 자동 커버.

70개 테스트 전부 그린, 빌드 0경고/0오류.
This commit is contained in:
Yun Chan 2026-06-01 23:45:16 +09:00
parent dad1c0bca3
commit 6ce4c429fe
2 changed files with 8 additions and 20 deletions

View file

@ -62,6 +62,14 @@ $msbuild = (& $vswhere -latest -find 'MSBuild\**\Bin\MSBuild.exe' | Select-Objec
if (-not $msbuild) { throw 'MSBuild를 찾지 못했습니다.' } if (-not $msbuild) { throw 'MSBuild를 찾지 못했습니다.' }
Write-Host "msbuild: $msbuild" Write-Host "msbuild: $msbuild"
# ---- 0) 회귀 게이트: 테스트 실패 시 publish/패키징 중단 ----
# 적대적 리뷰의 '최후 방어선' — 회귀가 MSIX/서명까지 새는 것을 막는다.
Write-Host ''
Write-Host '[0/5] 테스트 게이트 (dotnet test)'
$testProj = Join-Path $repoRoot 'src\Everything2Everything.Tests\Everything2Everything.Tests.csproj'
& dotnet test $testProj -c $Configuration | Out-Host
if ($LASTEXITCODE -ne 0) { throw '테스트 실패 — publish/패키징을 중단합니다. 회귀를 먼저 수정하세요.' }
# ---- 1) .NET App publish ---- # ---- 1) .NET App publish ----
Write-Host '' Write-Host ''
Write-Host '[1/5] .NET App publish' Write-Host '[1/5] .NET App publish'

View file

@ -1,5 +1,3 @@
using System.Collections.ObjectModel;
namespace Everything2Everything.Core; namespace Everything2Everything.Core;
public sealed record HistoryEntry( public sealed record HistoryEntry(
@ -20,21 +18,3 @@ public sealed record HistoryEntry(
public string? PrimaryOutputPath => OutputPaths is { Count: > 0 } list ? list[0] : null; public string? PrimaryOutputPath => OutputPaths is { Count: > 0 } list ? list[0] : null;
} }
public sealed class HistoryStore
{
private readonly ObservableCollection<HistoryEntry> _entries = new();
public ReadOnlyObservableCollection<HistoryEntry> Entries { get; }
public HistoryStore()
{
Entries = new ReadOnlyObservableCollection<HistoryEntry>(_entries);
}
public void Add(HistoryEntry entry) => _entries.Insert(0, entry);
public void Clear() => _entries.Clear();
public int Count => _entries.Count;
}