testcontainers / testcontainers/testcontainers-python
Bug: `testcontainers.core.waiting_utils.wait_for_logs` keeps waiting despite the container has exited.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 2.3k
- Forks
- 386
- Ø Merge
- 4 Std. 40 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
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
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in testcontainers.core.waiting_utils bei wait_for_logs und untersuche, wie der Zustand von DockerContainer während des Wartens auf übereinstimmende Logs geprüft wird. Reproduziere das Beispiel mit flyway/flyway und ermittle das erwartete Verhalten, wenn der Container beendet wird, bevor das Prädikat übereinstimmt. Erledigt ist die Aufgabe, wenn das Warten nach dem Beenden des Containers nicht bis zum Timeout fortgesetzt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, python
- Bereich
- devops, testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100