Skip to content

Commit

Permalink
Print header for 'podman images' even with no images
Browse files Browse the repository at this point in the history
Fixes containers#2877

Signed-off-by: Matthew Heon <mheon@redhat.com>
  • Loading branch information
mheon committed Apr 10, 2019
1 parent fe79bdd commit ba4a1bb
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 6 deletions.
7 changes: 4 additions & 3 deletions cmd/podman/images.go
Original file line number Diff line number Diff line change
Expand Up @@ -318,13 +318,14 @@ func getImagesJSONOutput(ctx context.Context, images []*adapter.ContainerImage)

func generateImagesOutput(ctx context.Context, images []*adapter.ContainerImage, opts imagesOptions) error {
templateMap := GenImageOutputMap()
if len(images) == 0 {
return nil
}
var out formats.Writer

switch opts.format {
case formats.JSONString:
// If 0 images are present, print nothing for JSON
if len(images) == 0 {
return nil
}
imagesOutput := getImagesJSONOutput(ctx, images)
out = formats.JSONStructArray{Output: imagesToGeneric([]imagesTemplateParams{}, imagesOutput)}
default:
Expand Down
11 changes: 11 additions & 0 deletions test/e2e/images_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,17 @@ var _ = Describe("Podman images", func() {
Expect(session.LineInOuputStartsWith("docker.io/library/busybox")).To(BeTrue())
})

It("podman images with no images prints header", func() {
rmi := podmanTest.Podman([]string{"rmi", "-a"})
rmi.WaitWithDefaultTimeout()
Expect(rmi.ExitCode()).To(Equal(0))

session := podmanTest.Podman([]string{"images"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expect(len(session.OutputToStringArray())).To(Equal(1))
})

It("podman image List", func() {
session := podmanTest.Podman([]string{"image", "list"})
session.WaitWithDefaultTimeout()
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/prune_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ var _ = Describe("Podman rm", func() {
prune.WaitWithDefaultTimeout()
Expect(prune.ExitCode()).To(Equal(0))

images := podmanTest.Podman([]string{"images", "-a"})
images := podmanTest.Podman([]string{"images", "-aq"})
images.WaitWithDefaultTimeout()
// all images are unused, so they all should be deleted!
Expect(len(images.OutputToStringArray())).To(Equal(0))
Expand All @@ -95,7 +95,7 @@ var _ = Describe("Podman rm", func() {
prune.WaitWithDefaultTimeout()
Expect(prune.ExitCode()).To(Equal(0))

images := podmanTest.Podman([]string{"images", "-a"})
images := podmanTest.Podman([]string{"images", "-aq"})
images.WaitWithDefaultTimeout()
// all images are unused, so they all should be deleted!
Expect(len(images.OutputToStringArray())).To(Equal(0))
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/rmi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ RUN find $LOCAL
fmt.Println(session.OutputToString())
Expect(session.ExitCode()).To(Equal(0))

images := podmanTest.Podman([]string{"images", "--all"})
images := podmanTest.Podman([]string{"images", "-aq"})
images.WaitWithDefaultTimeout()
Expect(images.ExitCode()).To(Equal(0))
Expect(len(images.OutputToStringArray())).To(Equal(0))
Expand Down

0 comments on commit ba4a1bb

Please sign in to comment.