summaryrefslogtreecommitdiff
path: root/test/python
diff options
context:
space:
mode:
authorMichael Scherer <misc@redhat.com>2021-11-12 12:56:57 +0100
committerMichael Scherer <misc@redhat.com>2021-11-12 14:18:26 +0100
commitb1c002342426fac0770e4a7d07a57018964724dd (patch)
tree8da768ae6616ba05f787eadb0861ef4c405a29e6 /test/python
parent92da8682b3977a6ef57a6f73dde2f2aef6186d19 (diff)
downloadpodman-b1c002342426fac0770e4a7d07a57018964724dd.tar.gz
podman-b1c002342426fac0770e4a7d07a57018964724dd.tar.bz2
podman-b1c002342426fac0770e4a7d07a57018964724dd.zip
Always create working directory when using compat API
Docker/Moby always create the working directory, and some tools rely on that behavior (example, woodpecker/drone). Fixes #11842 Signed-off-by: Michael Scherer <misc@redhat.com>
Diffstat (limited to 'test/python')
-rw-r--r--test/python/docker/compat/test_containers.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/python/docker/compat/test_containers.py b/test/python/docker/compat/test_containers.py
index 1ad1e7f15..e6f7d992d 100644
--- a/test/python/docker/compat/test_containers.py
+++ b/test/python/docker/compat/test_containers.py
@@ -251,3 +251,17 @@ class TestContainers(unittest.TestCase):
ctr.start()
ret, out = ctr.exec_run(["stat", "-c", "%u:%g", "/workspace"])
self.assertEqual(out.rstrip(), b'1042:1043', "UID/GID set in dockerfile")
+
+
+ def test_non_existant_workdir(self):
+ dockerfile = (B'FROM quay.io/libpod/alpine:latest\n'
+ B'USER root\n'
+ B'WORKDIR /workspace/scratch\n'
+ B'RUN touch test')
+ img: Image
+ img, out = self.client.images.build(fileobj=io.BytesIO(dockerfile))
+ ctr: Container = self.client.containers.create(image=img.id, detach=True, command="top",
+ volumes=["test_non_existant_workdir:/workspace"])
+ ctr.start()
+ ret, out = ctr.exec_run(["stat", "/workspace/scratch/test"])
+ self.assertEqual(ret, 0, "Working directory created if it doesn't exist")