testcontainers / testcontainers/testcontainers-java

Display name for GenericContainer

Offen
#2,246 13 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.