私はAnyEvent
を使って非同期で書かれたPerlプロジェクトに取り組んでいます。テスト中に、私のコードのバグにより、テストが完了した後にブロックされたコードが呼び出され、テストが合格したように見える状況が発生しましたが、ブロックされたコールが後に他のテストを汚染してしまいました。は、AnyEventイベントキューを表示する手段です。
テストのティアダウンでは、AnyEvent
が他のブロックされた呼び出しを待っていないことを確認してください。まだ実行されていない呼び出しがあれば、AnyEvent
をチェックできますか?
Afaikは、使用しているイベントループの実装によって異なります。 '' AnyEvent :: Loop'''という名前の純粋なperl実装、特に変数 '' '@ timer''と' '@ idle''(ソースを見る)を見てみましょう。 – mzedeler