diff options
Diffstat (limited to 'test/e2e')
-rw-r--r-- | test/e2e/exists_test.go | 38 | ||||
-rw-r--r-- | test/e2e/info_test.go | 42 |
2 files changed, 61 insertions, 19 deletions
diff --git a/test/e2e/exists_test.go b/test/e2e/exists_test.go index e25eb33c6..e26fad51d 100644 --- a/test/e2e/exists_test.go +++ b/test/e2e/exists_test.go @@ -6,6 +6,7 @@ import ( . "github.com/containers/libpod/test/utils" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + . "github.com/onsi/gomega/gexec" ) var _ = Describe("Podman image|container exists", func() { @@ -16,7 +17,6 @@ var _ = Describe("Podman image|container exists", func() { ) BeforeEach(func() { - Skip(v2fail) tempdir, err = CreateTempDirInTempDir() if err != nil { os.Exit(1) @@ -36,17 +36,17 @@ var _ = Describe("Podman image|container exists", func() { It("podman image exists in local storage by fq name", func() { session := podmanTest.Podman([]string{"image", "exists", ALPINE}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman image exists in local storage by short name", func() { session := podmanTest.Podman([]string{"image", "exists", "alpine"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman image does not exist in local storage", func() { session := podmanTest.Podman([]string{"image", "exists", "alpine9999"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(1)) + Expect(session).Should(Exit(1)) }) It("podman container exists in local storage by name", func() { setup := podmanTest.RunTopContainer("foobar") @@ -55,17 +55,17 @@ var _ = Describe("Podman image|container exists", func() { session := podmanTest.Podman([]string{"container", "exists", "foobar"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman container exists in local storage by container ID", func() { setup := podmanTest.RunTopContainer("") setup.WaitWithDefaultTimeout() - Expect(setup.ExitCode()).To(Equal(0)) + Expect(setup).Should(Exit(0)) cid := setup.OutputToString() session := podmanTest.Podman([]string{"container", "exists", cid}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman container exists in local storage by short container ID", func() { setup := podmanTest.RunTopContainer("") @@ -75,46 +75,46 @@ var _ = Describe("Podman image|container exists", func() { session := podmanTest.Podman([]string{"container", "exists", cid}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman container does not exist in local storage", func() { session := podmanTest.Podman([]string{"container", "exists", "foobar"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(1)) + Expect(session).Should(Exit(1)) }) It("podman pod exists in local storage by name", func() { - setup, rc, _ := podmanTest.CreatePod("foobar") + setup, _, _ := podmanTest.CreatePod("foobar") setup.WaitWithDefaultTimeout() - Expect(rc).To(Equal(0)) + Expect(setup).Should(Exit(0)) session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman pod exists in local storage by container ID", func() { - setup, rc, podID := podmanTest.CreatePod("") + setup, _, podID := podmanTest.CreatePod("") setup.WaitWithDefaultTimeout() - Expect(rc).To(Equal(0)) + Expect(setup).Should(Exit(0)) session := podmanTest.Podman([]string{"pod", "exists", podID}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman pod exists in local storage by short container ID", func() { - setup, rc, podID := podmanTest.CreatePod("") + setup, _, podID := podmanTest.CreatePod("") setup.WaitWithDefaultTimeout() - Expect(rc).To(Equal(0)) + Expect(setup).Should(Exit(0)) session := podmanTest.Podman([]string{"pod", "exists", podID[0:12]}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) + Expect(session).Should(Exit(0)) }) It("podman pod does not exist in local storage", func() { // The exit code for non-existing pod is incorrect (125 vs 1) SkipIfRemote() session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(1)) + Expect(session).Should(Exit(1)) }) }) diff --git a/test/e2e/info_test.go b/test/e2e/info_test.go index ff3615dcd..7cb299e0f 100644 --- a/test/e2e/info_test.go +++ b/test/e2e/info_test.go @@ -1,8 +1,13 @@ package integration import ( + "fmt" + "io/ioutil" "os" + "os/exec" + "path/filepath" + "github.com/containers/libpod/pkg/rootless" . "github.com/containers/libpod/test/utils" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -50,4 +55,41 @@ var _ = Describe("Podman Info", func() { Expect(session.ExitCode()).To(Equal(0)) Expect(session.OutputToString()).To(ContainSubstring("registry")) }) + + It("podman info rootless storage path", func() { + if !rootless.IsRootless() { + Skip("test of rootless_storage_path is only meaningful as rootless") + } + SkipIfRemote() + oldHOME, hasHOME := os.LookupEnv("HOME") + defer func() { + if hasHOME { + os.Setenv("HOME", oldHOME) + } else { + os.Unsetenv("HOME") + } + }() + os.Setenv("HOME", podmanTest.TempDir) + configPath := filepath.Join(os.Getenv("HOME"), ".config", "containers", "storage.conf") + err := os.RemoveAll(filepath.Dir(configPath)) + Expect(err).To(BeNil()) + + err = os.MkdirAll(filepath.Dir(configPath), os.ModePerm) + Expect(err).To(BeNil()) + + rootlessStoragePath := `"/tmp/$HOME/$USER/$UID"` + driver := `"overlay"` + storageOpt := `"/usr/bin/fuse-overlayfs"` + storageConf := []byte(fmt.Sprintf("[storage]\ndriver=%s\nrootless_storage_path=%s\n[storage.options]\nmount_program=%s", driver, rootlessStoragePath, storageOpt)) + err = ioutil.WriteFile(configPath, storageConf, os.ModePerm) + Expect(err).To(BeNil()) + + expect := filepath.Join("/tmp", os.Getenv("HOME"), os.Getenv("USER"), os.Getenv("UID")) + podmanPath := podmanTest.PodmanTest.PodmanBinary + cmd := exec.Command(podmanPath, "info", "--format", "{{.Store.GraphRoot}}") + out, err := cmd.CombinedOutput() + fmt.Println(string(out)) + Expect(err).To(BeNil()) + Expect(string(out)).To(ContainSubstring(expect)) + }) }) |