mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-08-27 10:47:54 +00:00
Now that Dan has added helpful comments to each SkipIfRemote,
let's take the next step and include those messages in the
Skip() output so someone viewing test results can easily
see if a remote test is skipped for a real reason or for
a FIXME.
This commit is the result of a simple:
perl -pi -e 's;(SkipIfRemote)\(\)(\s+//\s+(.*))?;$1("$3");' *.go
in the test/e2e directory, with a few minor (manual) changes
in wording.
Signed-off-by: Ed Santiago <santiago@redhat.com>
121 lines
4.1 KiB
Go
121 lines
4.1 KiB
Go
package integration
|
|
|
|
import (
|
|
"os"
|
|
|
|
. "github.com/containers/podman/v2/test/utils"
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
var _ = Describe("Podman run entrypoint", func() {
|
|
var (
|
|
tempdir string
|
|
err error
|
|
podmanTest *PodmanTestIntegration
|
|
)
|
|
|
|
BeforeEach(func() {
|
|
tempdir, err = CreateTempDirInTempDir()
|
|
if err != nil {
|
|
os.Exit(1)
|
|
}
|
|
podmanTest = PodmanTestCreate(tempdir)
|
|
podmanTest.Setup()
|
|
podmanTest.SeedImages()
|
|
})
|
|
|
|
AfterEach(func() {
|
|
podmanTest.Cleanup()
|
|
f := CurrentGinkgoTestDescription()
|
|
processTestResult(f)
|
|
|
|
})
|
|
|
|
It("podman run no command, entrypoint, or cmd", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
ENTRYPOINT []
|
|
CMD []
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "foobar.com/entrypoint:latest"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(125))
|
|
})
|
|
|
|
It("podman run entrypoint", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "foobar.com/entrypoint:latest"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(len(session.OutputToStringArray())).To(Equal(2))
|
|
})
|
|
|
|
It("podman run entrypoint with cmd", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
CMD [ "-v"]
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "foobar.com/entrypoint:latest"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(len(session.OutputToStringArray())).To(Equal(4))
|
|
})
|
|
|
|
It("podman run entrypoint with user cmd overrides image cmd", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
CMD [ "-v"]
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "foobar.com/entrypoint:latest", "-i"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(len(session.OutputToStringArray())).To(Equal(5))
|
|
})
|
|
|
|
It("podman run entrypoint with user cmd no image cmd", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "foobar.com/entrypoint:latest", "-i"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(len(session.OutputToStringArray())).To(Equal(5))
|
|
})
|
|
|
|
It("podman run user entrypoint overrides image entrypoint and image cmd", func() {
|
|
SkipIfRemote("FIXME This should work on podman-remote")
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
CMD ["-i"]
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "--entrypoint=uname", "foobar.com/entrypoint:latest"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(session.LineInOuputStartsWith("Linux")).To(BeTrue())
|
|
|
|
session = podmanTest.Podman([]string{"run", "--entrypoint", "", "foobar.com/entrypoint:latest", "uname"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(session.LineInOuputStartsWith("Linux")).To(BeTrue())
|
|
})
|
|
|
|
It("podman run user entrypoint with command overrides image entrypoint and image cmd", func() {
|
|
dockerfile := `FROM docker.io/library/alpine:latest
|
|
CMD ["-i"]
|
|
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
|
|
`
|
|
podmanTest.BuildImage(dockerfile, "foobar.com/entrypoint:latest", "false")
|
|
session := podmanTest.Podman([]string{"run", "--entrypoint=uname", "foobar.com/entrypoint:latest", "-r"})
|
|
session.WaitWithDefaultTimeout()
|
|
Expect(session.ExitCode()).To(Equal(0))
|
|
Expect(session.LineInOuputStartsWith("Linux")).To(BeFalse())
|
|
})
|
|
})
|