github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/pod_pod_namespaces.go (about) 1 // +build !remoteclient 2 3 package integration 4 5 import ( 6 "fmt" 7 "os" 8 9 . "github.com/containers/libpod/test/utils" 10 . "github.com/onsi/ginkgo" 11 . "github.com/onsi/gomega" 12 ) 13 14 var _ = Describe("Podman pod create", func() { 15 var ( 16 tempdir string 17 err error 18 podmanTest *PodmanTestIntegration 19 ) 20 21 BeforeEach(func() { 22 tempdir, err = CreateTempDirInTempDir() 23 if err != nil { 24 os.Exit(1) 25 } 26 podmanTest = PodmanTestCreate(tempdir) 27 podmanTest.Setup() 28 podmanTest.SeedImages() 29 }) 30 31 AfterEach(func() { 32 podmanTest.CleanupPod() 33 f := CurrentGinkgoTestDescription() 34 processTestResult(f) 35 36 }) 37 38 It("podman pod container share Namespaces", func() { 39 session := podmanTest.Podman([]string{"pod", "create"}) 40 session.WaitWithDefaultTimeout() 41 Expect(session.ExitCode()).To(Equal(0)) 42 podID := session.OutputToString() 43 44 session = podmanTest.Podman([]string{"pod", "start", podID}) 45 session.WaitWithDefaultTimeout() 46 Expect(session.ExitCode()).To(Equal(0)) 47 48 session = podmanTest.Podman([]string{"run", "--pod", podID, "-d", ALPINE, "top"}) 49 session.WaitWithDefaultTimeout() 50 Expect(session.ExitCode()).To(Equal(0)) 51 52 check := podmanTest.Podman([]string{"ps", "-a", "--ns", "--format", "{{.IPC}} {{.UTS}} {{.NET}}"}) 53 check.WaitWithDefaultTimeout() 54 Expect(check.ExitCode()).To(Equal(0)) 55 outputArray := check.OutputToStringArray() 56 Expect(len(outputArray)).To(Equal(2)) 57 58 NAMESPACE1 := outputArray[0] 59 fmt.Println("NAMESPACE1:", NAMESPACE1) 60 NAMESPACE2 := outputArray[1] 61 fmt.Println("NAMESPACE2:", NAMESPACE2) 62 Expect(NAMESPACE1).To(Equal(NAMESPACE2)) 63 }) 64 65 It("podman pod container dontshare PIDNS", func() { 66 session := podmanTest.Podman([]string{"pod", "create"}) 67 session.WaitWithDefaultTimeout() 68 Expect(session.ExitCode()).To(Equal(0)) 69 podID := session.OutputToString() 70 71 session = podmanTest.Podman([]string{"pod", "start", podID}) 72 session.WaitWithDefaultTimeout() 73 Expect(session.ExitCode()).To(Equal(0)) 74 75 session = podmanTest.Podman([]string{"run", "--pod", podID, "-d", ALPINE, "top"}) 76 session.WaitWithDefaultTimeout() 77 Expect(session.ExitCode()).To(Equal(0)) 78 79 check := podmanTest.Podman([]string{"ps", "-a", "--ns", "--format", "{{.PIDNS}}"}) 80 check.WaitWithDefaultTimeout() 81 Expect(check.ExitCode()).To(Equal(0)) 82 outputArray := check.OutputToStringArray() 83 Expect(len(outputArray)).To(Equal(2)) 84 85 NAMESPACE1 := outputArray[0] 86 fmt.Println("NAMESPACE1:", NAMESPACE1) 87 NAMESPACE2 := outputArray[1] 88 fmt.Println("NAMESPACE2:", NAMESPACE2) 89 Expect(NAMESPACE1).To(Not(Equal(NAMESPACE2))) 90 }) 91 92 })