testcontainers / testcontainers/testcontainers-python

Bug: `testcontainers.core.waiting_utils.wait_for_logs` keeps waiting despite the container has exited.

オープン
#681 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
2.3k
フォーク
386
平均マージ
4時間 40分
マージ済み PR(30日)
1

説明

Describe the bug

The testcontainers.core.waiting_utils.wait_for_logs keeps waiting despite the container has exited. This can be confusing if there is a long wait time.

To Reproduce

from testcontainers.core import container, waiting_utils

if __name__ == "__main__":
    waiting_utils.wait_for_logs(
        container.DockerContainer("flyway/flyway").start(),
        r"Successfully applied \d+ migrations to schema",
        timeout=large_n, # 
    )

# >> Raised Exception has occurred: TimeoutError Container did not emit logs satisfying predicate in `large_n` seconds

Runtime environment

Python:         3.11.9
testcontainers  4.7.2
Implementation: CPython

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

testcontainers.core.waiting_utils の wait_for_logs から始め、ログが一致するのを待っている間に DockerContainer の状態がどのように確認されているかを調べます。flyway/flyway を使って例を再現し、述語が一致する前にコンテナが終了した場合の期待される動作を確認します。コンテナの終了後、タイムアウトまで待機が継続しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
docker, python
領域
devops, testing-qa
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。