何を見つけたか
plugins/ndf/scripts/tests/test_instructions_check.py の test_ac18_check_writes_nothing(532 行付近)は、テスト用リポジトリの root.rglob("*") で全ファイルの mtime を前後で比べている。比べる範囲に .git 配下も含まれる。直前のコミットで git が背景の保守を走らせると、.git/objects/maintenance.lock が作られたり消えたりして、検査対象のスクリプトが何も書いていなくても前後が食い違う。
同じ形の test_ac44_refresh_writes_nothing は、CI(pytest (1/2)、run 35870540973)でまさにこの差(maintenance.lock の 1 件だけ)で落ちた。
どこで見つけたか
PR #918 のクロスレビュー(round 4)で出た CI の失敗を直したとき。test_ac44 のほうは #918 で .git 配下を比較から外して直した(コミット c42d3f8)。test_ac18 は同じ形のまま残っている。
なぜこの変更の範囲外なのか
#918(issue #885)は .md の文言を照合するテストを削る変更で、test_instructions_check.py の flaky は対象に入っていない。test_ac44 は実際に CI を落としたため直したが、test_ac18 はまだ落ちておらず、クロスレビューが収束した後にこの PR へ変更を足さないことにした。
直さないと何が起きるか
CI の pytest がたまに落ち、変更と関係のない失敗の調べ直しが起きる。直し方は test_ac44 と同じ(スナップショットから .git 配下を外す)。
由来
PR #918(issue #885)
何を見つけたか
plugins/ndf/scripts/tests/test_instructions_check.pyのtest_ac18_check_writes_nothing(532 行付近)は、テスト用リポジトリのroot.rglob("*")で全ファイルの mtime を前後で比べている。比べる範囲に.git配下も含まれる。直前のコミットで git が背景の保守を走らせると、.git/objects/maintenance.lockが作られたり消えたりして、検査対象のスクリプトが何も書いていなくても前後が食い違う。同じ形の
test_ac44_refresh_writes_nothingは、CI(pytest (1/2)、run 35870540973)でまさにこの差(maintenance.lockの 1 件だけ)で落ちた。どこで見つけたか
PR #918 のクロスレビュー(round 4)で出た CI の失敗を直したとき。
test_ac44のほうは #918 で.git配下を比較から外して直した(コミット c42d3f8)。test_ac18は同じ形のまま残っている。なぜこの変更の範囲外なのか
#918(issue #885)は
.mdの文言を照合するテストを削る変更で、test_instructions_check.pyの flaky は対象に入っていない。test_ac44は実際に CI を落としたため直したが、test_ac18はまだ落ちておらず、クロスレビューが収束した後にこの PR へ変更を足さないことにした。直さないと何が起きるか
CI の pytest がたまに落ち、変更と関係のない失敗の調べ直しが起きる。直し方は
test_ac44と同じ(スナップショットから.git配下を外す)。由来
PR #918(issue #885)