From c8b72e57a75262c0edeea839e9e34bb0c3e03d13 Mon Sep 17 00:00:00 2001 From: umohnani8 Date: Mon, 21 May 2018 13:53:19 -0400 Subject: save and load should support multi-tag for docker-archive The docker-archive tar files can have multiple tags for the same image stored in it. Load pulls all the tags found in the archive when loading a tar file. Save can oush multiple tags of the same image to a tar archive. Signed-off-by: umohnani8 Closes: #819 Approved by: rhatdan --- test/e2e/libpod_suite_test.go | 4 ++-- test/e2e/load_test.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/e2e/libpod_suite_test.go b/test/e2e/libpod_suite_test.go index 7007c5075..0c3dd2eea 100644 --- a/test/e2e/libpod_suite_test.go +++ b/test/e2e/libpod_suite_test.go @@ -567,8 +567,8 @@ func (p *PodmanTest) GetHostDistribution() string { return "" } for _, line := range content { - if strings.HasPrefix(fmt.Sprintf("%s", line), "ID") { - fields := strings.Split(fmt.Sprintf("%s", line), "=") + if strings.HasPrefix(fmt.Sprintf("%x", line), "ID") { + fields := strings.Split(fmt.Sprintf("%x", line), "=") if len(fields) < 2 { return "" } diff --git a/test/e2e/load_test.go b/test/e2e/load_test.go index e9c2d94ab..3fe68ad8e 100644 --- a/test/e2e/load_test.go +++ b/test/e2e/load_test.go @@ -133,4 +133,32 @@ var _ = Describe("Podman load", func() { save.WaitWithDefaultTimeout() Expect(save.ExitCode()).ToNot(Equal(0)) }) + + It("podman load multiple tags", func() { + outfile := filepath.Join(podmanTest.TempDir, "alpine.tar") + alpVersion := "docker.io/library/alpine:3.2" + + pull := podmanTest.Podman([]string{"pull", alpVersion}) + pull.WaitWithDefaultTimeout() + Expect(pull.ExitCode()).To(Equal(0)) + + save := podmanTest.Podman([]string{"save", "-o", outfile, ALPINE, alpVersion}) + save.WaitWithDefaultTimeout() + Expect(save.ExitCode()).To(Equal(0)) + + rmi := podmanTest.Podman([]string{"rmi", ALPINE, alpVersion}) + rmi.WaitWithDefaultTimeout() + Expect(rmi.ExitCode()).To(Equal(0)) + + result := podmanTest.Podman([]string{"load", "-i", outfile}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + + inspect := podmanTest.Podman([]string{"inspect", ALPINE}) + inspect.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + inspect = podmanTest.Podman([]string{"inspect", alpVersion}) + inspect.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + }) }) -- cgit v1.2.3-54-g00ecf