FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
LaunchAgentスモークの出力待機を安定化する
固定待機をbounded pollingへ替え、RunnerのJSON出力完了を待って判定する
対象期間: —
目的
実サービスのスモークテストで、Runnerの起動直後に出力ファイルを読むと、まだ空のままJSON解析へ進んで失敗する競合が見つかった。サービスの成否ではなく出力時刻の揺れで検査が落ちないようにする必要があった。
実装
回帰testで、起動後に1秒だけ待つ処理を、最大20秒・200ミリ秒間隔のpollingへ変更した。ファイルが空でなく、JSONとして解析できた時点だけ結果を採用する。
解析後は従来どおりno_workと各件数を確認し、成功時も失敗時も一時サービスとテスト用データを片付ける境界を維持した。
一次test差分から、固定1秒sleepをやめ、deadlineまで短い間隔で非空かつparse可能な出力を待つharnessを確認した。file pathは変数参照だけで実値を含まない。
図を描画しています…
確認したこと
確認結果
Connectorは実LaunchAgentの起動とIPC応答、Runnerは起動後のno_work JSONを確認できた。
Swift test 28件が成功し、検証後に対象plistとserviceが残っていないことも確認した。
20秒を超える極端な起動遅延はcutoff時点の確認範囲外とした。
完了とした根拠
出力の完了をbounded pollingで待つ実装と、実LaunchAgentを使ったConnector/Runnerのスモーク結果が揃った時点で完了とした。