summaryrefslogtreecommitdiff
path: root/test/e2e
diff options
context:
space:
mode:
Diffstat (limited to 'test/e2e')
-rw-r--r--test/e2e/build/envwithtab/Dockerfile3
-rw-r--r--test/e2e/inspect_test.go18
-rw-r--r--test/e2e/play_kube_test.go66
3 files changed, 87 insertions, 0 deletions
diff --git a/test/e2e/build/envwithtab/Dockerfile b/test/e2e/build/envwithtab/Dockerfile
new file mode 100644
index 000000000..0d8480c04
--- /dev/null
+++ b/test/e2e/build/envwithtab/Dockerfile
@@ -0,0 +1,3 @@
+FROM alpine
+
+ENV TEST=" t"
diff --git a/test/e2e/inspect_test.go b/test/e2e/inspect_test.go
index 89859e74f..59615d009 100644
--- a/test/e2e/inspect_test.go
+++ b/test/e2e/inspect_test.go
@@ -50,6 +50,24 @@ var _ = Describe("Podman inspect", func() {
Expect(session).To(ExitWithError())
})
+ It("podman inspect filter should work if result contains tab", func() {
+ session := podmanTest.Podman([]string{"build", "--tag", "envwithtab", "build/envwithtab"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+
+ // Verify that OS and Arch are being set
+ inspect := podmanTest.Podman([]string{"inspect", "-f", "{{ .Config.Env }}", "envwithtab"})
+ inspect.WaitWithDefaultTimeout()
+ Expect(inspect).Should(Exit(0))
+ // output should not be empty
+ // test validates fix for https://github.com/containers/podman/issues/8785
+ Expect(strings.Contains(inspect.OutputToString(), "TEST"))
+
+ session = podmanTest.Podman([]string{"rmi", "envwithtab"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ })
+
It("podman inspect with GO format", func() {
session := podmanTest.Podman([]string{"inspect", "--format", "{{.ID}}", ALPINE})
session.WaitWithDefaultTimeout()
diff --git a/test/e2e/play_kube_test.go b/test/e2e/play_kube_test.go
index 5d875effd..fa30f068c 100644
--- a/test/e2e/play_kube_test.go
+++ b/test/e2e/play_kube_test.go
@@ -11,6 +11,7 @@ import (
"text/template"
"time"
+ "github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/pkg/util"
. "github.com/containers/podman/v3/test/utils"
"github.com/containers/storage/pkg/stringid"
@@ -30,6 +31,22 @@ metadata:
spec:
hostname: unknown
`
+var checkInfraImagePodYaml = `
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ app: check-infra-image
+ name: check-infra-image
+spec:
+ containers:
+ - name: alpine
+ image: quay.io/libpod/alpine:latest
+ command:
+ - sleep
+ - 24h
+status: {}
+`
var sharedNamespacePodYaml = `
apiVersion: v1
kind: Pod
@@ -1098,6 +1115,55 @@ var _ = Describe("Podman play kube", func() {
Expect(label).To(ContainSubstring("unconfined_u:system_r:spc_t:s0"))
})
+ It("podman play kube should use default infra_image", func() {
+ err := writeYaml(checkInfraImagePodYaml, kubeYaml)
+ Expect(err).To(BeNil())
+
+ kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
+ kube.WaitWithDefaultTimeout()
+ Expect(kube).Should(Exit(0))
+
+ podInspect := podmanTest.Podman([]string{"inspect", "check-infra-image", "--format", "{{ .InfraContainerID }}"})
+ podInspect.WaitWithDefaultTimeout()
+ infraContainerID := podInspect.OutputToString()
+
+ conInspect := podmanTest.Podman([]string{"inspect", infraContainerID, "--format", "{{ .ImageName }}"})
+ conInspect.WaitWithDefaultTimeout()
+ infraContainerImage := conInspect.OutputToString()
+ Expect(infraContainerImage).To(Equal(config.DefaultInfraImage))
+ })
+
+ It("podman play kube should use customized infra_image", func() {
+ conffile := filepath.Join(podmanTest.TempDir, "container.conf")
+
+ infraImage := "k8s.gcr.io/pause:3.2"
+ err := ioutil.WriteFile(conffile, []byte(fmt.Sprintf("[engine]\ninfra_image=\"%s\"\n", infraImage)), 0644)
+ Expect(err).To(BeNil())
+
+ os.Setenv("CONTAINERS_CONF", conffile)
+ defer os.Unsetenv("CONTAINERS_CONF")
+
+ if IsRemote() {
+ podmanTest.RestartRemoteService()
+ }
+
+ err = writeYaml(checkInfraImagePodYaml, kubeYaml)
+ Expect(err).To(BeNil())
+
+ kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
+ kube.WaitWithDefaultTimeout()
+ Expect(kube).Should(Exit(0))
+
+ podInspect := podmanTest.Podman([]string{"inspect", "check-infra-image", "--format", "{{ .InfraContainerID }}"})
+ podInspect.WaitWithDefaultTimeout()
+ infraContainerID := podInspect.OutputToString()
+
+ conInspect := podmanTest.Podman([]string{"inspect", infraContainerID, "--format", "{{ .ImageName }}"})
+ conInspect.WaitWithDefaultTimeout()
+ infraContainerImage := conInspect.OutputToString()
+ Expect(infraContainerImage).To(Equal(infraImage))
+ })
+
It("podman play kube should share ipc,net,uts when shareProcessNamespace is set", func() {
SkipIfRootless("Requires root privileges for sharing few namespaces")
err := writeYaml(sharedNamespacePodYaml, kubeYaml)