Skip to content

test(perf): PerfRunFlowTests (Run* 統合) を追加#100

Closed
OJII3 wants to merge 16 commits into
mainfrom
perf/unity-perf-harness-testability
Closed

test(perf): PerfRunFlowTests (Run* 統合) を追加#100
OJII3 wants to merge 16 commits into
mainfrom
perf/unity-perf-harness-testability

Conversation

@OJII3

@OJII3 OJII3 commented Jun 29, 2026

Copy link
Copy Markdown
Owner

変更内容

Task 14: PerfRunFlowTests を作成

新規ファイル

  • PerfRunFlowTests.cs - PerfPlayerEntry.RunUnityToRos2 / RunRos2ToUnity の統合テスト
    • DDS loopback pair + Fake インフラを使用
    • カウンターパーティを事前起動して matching を通す

修正: コンパイルエラー修正

  • PerfMetricsWriter.Event / WriteSentinel → public
  • PerfProfilerRecorders.Collect / Snapshot → public、戻り値型を IDictionary に統一
  • MeasureDoneBuilder → IDictionary を使用 (Unity .NET プロファイルでは IReadOnlyDictionary 未対応)

テスト結果

コンパイル成功を確認。ULOOP Relay 接続の問題でテスト実行は未完了。

Closes #14

OJII3 added 16 commits June 29, 2026 15:26
- Ros2Unity/Assets/Perf/PerfPlayerEntry.cs (282 行) の mixed concerns
  (CLI 解析 / participant 構築 / Stopwatch / Profiler / measure_done
  構築 / diagnostics 抽出 / polling) を IPerfMetricsSink /
  IPerfProfilerSampler / IPerfClock の 3 interface + MeasureDoneBuilder /
  PerfDiagnosticsBuilder / PerfJson の純関数ヘルパーに切り出す
- NDJSON event vocabulary と measure_done フィールド名は完全互換
- 既存 PerfProfilerMode (Lean/Full) / sentinel file 動作 / 外部 CLI は不変
- 新規 EditMode テスト 5 ファイル (約 20 ケース) を追加
- AddReceiveDiagnostics のフィールド数を 11 → 10 に修正
- AddTransportDiagnostics のフィールド数を「12 個 (transport あたり 6)」に明確化
- テストケース数を内訳表 (合計 33 ケース) として 7.1 節を追加
- 受け入れ基準の表記を内訳表への参照に置換
- 15 タスク (TDD + foundation + refactor + verify)
- 新規 12 Perf/ ファイル + 5 Tests/EditMode/ ファイル
- 既存 PerfMetricsWriter / PerfProfilerRecorders / PerfPlayerEntry.Run* を
  interface 抽象経由に refactor、NDJSON 完全互換を維持
- 33 ケース追加 (PerfJson 16 / MeasureDoneBuilder 8 / PerfDiagnosticsBuilder 4 /
  StopwatchPerfClock 2 / PerfRunFlow 3 fast + 1 Explicit)
合わせて以下を修正:
- PerfMetricsWriter/PerfProfilerRecorders: interface 実装メソッドを public に
- MeasureDoneBuilder: 引数型を IDictionary に変更 (IReadOnlyDictionary から)
@OJII3 OJII3 closed this Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant