diff options
author | Sascha Grunert <sgrunert@suse.com> | 2020-02-05 09:03:48 +0100 |
---|---|---|
committer | Sascha Grunert <sgrunert@suse.com> | 2020-02-05 09:03:53 +0100 |
commit | 56a9c6ae57f9decba4944fbebd469ca43b003a2f (patch) | |
tree | c1e4bd934270da4b115f76da287e37861ff6fc05 /test/e2e | |
parent | 5092c078ec635c9f1598989b27ccf53369b3cf2b (diff) | |
download | podman-56a9c6ae57f9decba4944fbebd469ca43b003a2f.tar.gz podman-56a9c6ae57f9decba4944fbebd469ca43b003a2f.tar.bz2 podman-56a9c6ae57f9decba4944fbebd469ca43b003a2f.zip |
Add Containerfile location e2e test
As a follow up of the location fix in #5080 we now add an e2e test for
that use case.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Diffstat (limited to 'test/e2e')
-rw-r--r-- | test/e2e/build_test.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/e2e/build_test.go b/test/e2e/build_test.go index 71f5d1b02..b4e400549 100644 --- a/test/e2e/build_test.go +++ b/test/e2e/build_test.go @@ -3,7 +3,9 @@ package integration import ( + "io/ioutil" "os" + "path/filepath" "strings" . "github.com/containers/libpod/test/utils" @@ -105,4 +107,39 @@ var _ = Describe("Podman build", func() { session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) }) + + It("podman build Containerfile locations", func() { + // Given + // Switch to temp dir and restore it afterwards + cwd, err := os.Getwd() + Expect(err).To(BeNil()) + Expect(os.Chdir(os.TempDir())).To(BeNil()) + defer Expect(os.Chdir(cwd)).To(BeNil()) + + // Write target and fake files + targetPath := filepath.Join(os.TempDir(), "dir") + Expect(os.MkdirAll(targetPath, 0755)).To(BeNil()) + + fakeFile := filepath.Join(os.TempDir(), "Containerfile") + Expect(ioutil.WriteFile(fakeFile, []byte("FROM alpine"), 0755)).To(BeNil()) + + targetFile := filepath.Join(targetPath, "Containerfile") + Expect(ioutil.WriteFile(targetFile, []byte("FROM scratch"), 0755)).To(BeNil()) + + defer func() { + Expect(os.RemoveAll(fakeFile)).To(BeNil()) + Expect(os.RemoveAll(targetFile)).To(BeNil()) + }() + + // When + session := podmanTest.PodmanNoCache([]string{ + "build", "-f", targetFile, "-t", "test-locations", + }) + session.WaitWithDefaultTimeout() + + // Then + Expect(session.ExitCode()).To(Equal(0)) + Expect(strings.Fields(session.OutputToString())). + To(ContainElement("scratch")) + }) }) |