summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatthew Heon <mheon@redhat.com>2020-08-07 13:57:02 -0400
committerMatthew Heon <matthew.heon@pm.me>2020-08-10 10:18:43 -0400
commit39c493b3fcc8c1c5203e4511d7ff3250d11de285 (patch)
tree45ed6af9c423757e65237a10ddb311d9325d4014 /test
parentda00482ef29e0a04a690f1538391e38b0b951dd0 (diff)
downloadpodman-39c493b3fcc8c1c5203e4511d7ff3250d11de285.tar.gz
podman-39c493b3fcc8c1c5203e4511d7ff3250d11de285.tar.bz2
podman-39c493b3fcc8c1c5203e4511d7ff3250d11de285.zip
Do not use image CMD if user gave ENTRYPOINT
This matches Docker behavior, and seems to make sense - the CMD may have been specific to the original entrypoint and probably does not make sense if it was changed. While we're in here, greatly simplify the logic for populating the SpecGen's Command. We create the full command when making the OCI spec, so the client should not be doing any more than setting it to the Command the user passed in, and completely ignoring ENTRYPOINT. Fixes #7115 Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'test')
-rw-r--r--test/e2e/run_test.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 9cb76d1f6..dc44d3b3f 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -1143,7 +1143,7 @@ USER mail`
Expect(session.ErrorToString()).To(ContainSubstring("Invalid umask"))
})
- It("podman run makes entrypoint from image", func() {
+ It("podman run makes workdir from image", func() {
// BuildImage does not seem to work remote
SkipIfRemote()
dockerfile := `FROM busybox
@@ -1154,4 +1154,13 @@ WORKDIR /madethis`
Expect(session.ExitCode()).To(Equal(0))
Expect(session.OutputToString()).To(ContainSubstring("/madethis"))
})
+
+ It("podman run --entrypoint does not use image command", func() {
+ session := podmanTest.Podman([]string{"run", "--entrypoint", "/bin/echo", ALPINE})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ // We can't guarantee the output is completely empty, some
+ // nonprintables seem to work their way in.
+ Expect(session.OutputToString()).To(Not(ContainSubstring("/bin/sh")))
+ })
})