testcontainers / testcontainers/testcontainers-java
Display name for GenericContainer
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 8.7k
- Forks
- 1.9k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
When using regular containers, the image name is usually sufficient for identifying which container given log line is about.
However, when using 2+ GenericContainer instances with same image, it's no longer so:
2020-01-13T13:32:45.298+0100 INFO testcontainers-lifecycle-2 🐳 [centos:7] Creating container for image: centos:7
2020-01-13T13:32:45.297+0100 INFO testcontainers-lifecycle-1 🐳 [centos:7] Creating container for image: centos:7
2020-01-13T13:32:45.297+0100 INFO testcontainers-lifecycle-0 🐳 [centos:7] Creating container for image: centos:7
...
2020-01-13T13:37:46.946+0100 ERROR testcontainers-lifecycle-1 🐳 [centos:7] Could not start container
java.lang.IllegalStateException: Container exited with code 1
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:457)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:317)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:315)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:302)
at java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:705)
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:687)
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Neither the log line, nor the exception provide information which container failed.
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 bei GenericContainer.tryStart und GenericContainer.doStart, die im gemeldeten Stacktrace vorkommen, und untersuche, wie das Container-Image in Meldungen der Lifecycle-Logs verwendet wird. Als erledigt gilt die Aufgabe, wenn Logs und Startfehler mehrere GenericContainer-Instanzen unterscheiden, die aus demselben Image erstellt wurden; füge fokussierte Tests für dieses Verhalten hinzu oder aktualisiere sie, falls der vorhandene Testort identifiziert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, java
- Bereich
- testing
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100