Skip to content

Commit 135866b

Browse files
alexanderankinshoffmeister
authored and
bstrausser
committed
fix(core): use auto_remove=True with reaper instance (testcontainers#499)
fix testcontainers#489 , supercede testcontainers#491, testcontainers#498 Co-authored-by: Stefan Hoffmeister <[email protected]>
1 parent eb01580 commit 135866b

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

core/testcontainers/core/container.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def _create_instance(cls) -> "Reaper":
193193
.with_name(f"testcontainers-ryuk-{SESSION_ID}")
194194
.with_exposed_ports(8080)
195195
.with_volume_mapping(RYUK_DOCKER_SOCKET, "/var/run/docker.sock", "rw")
196-
.with_kwargs(privileged=RYUK_PRIVILEGED)
196+
.with_kwargs(privileged=RYUK_PRIVILEGED, auto_remove=True)
197197
.start()
198198
)
199199
wait_for_logs(Reaper._container, r".* Started!")

core/tests/test_ryuk.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1+
from contextlib import contextmanager
2+
3+
import pytest
4+
15
from testcontainers.core import container
26
from testcontainers.core.container import Reaper
37
from testcontainers.core.container import DockerContainer
48
from testcontainers.core.waiting_utils import wait_for_logs
59

610

11+
@pytest.mark.skip("invalid test - ryuk logs 'Removed' right before exiting")
712
def test_wait_for_reaper():
813
container = DockerContainer("hello-world").start()
914
wait_for_logs(container, "Hello from Docker!")
@@ -17,8 +22,16 @@ def test_wait_for_reaper():
1722
Reaper.delete_instance()
1823

1924

25+
@contextmanager
26+
def reset_reaper_instance():
27+
old_value = Reaper._instance
28+
Reaper._instance = None
29+
yield
30+
Reaper._instance = old_value
31+
32+
2033
def test_container_without_ryuk(monkeypatch):
2134
monkeypatch.setattr(container, "RYUK_DISABLED", True)
22-
with DockerContainer("hello-world") as cont:
35+
with reset_reaper_instance(), DockerContainer("hello-world") as cont:
2336
wait_for_logs(cont, "Hello from Docker!")
2437
assert Reaper._instance is None

0 commit comments

Comments
 (0)