From 44a8cf867665927111fe9ea03711c8fabfc7d4a2 Mon Sep 17 00:00:00 2001
From: Brent Baude <bbaude@redhat.com>
Date: Fri, 17 Apr 2020 11:01:45 -0500
Subject: Fixes for system tests

Various fixes to protect against regressions in system tests

Signed-off-by: Brent Baude <bbaude@redhat.com>
---
 cmd/podman/containers/run.go |  1 +
 cmd/podman/images/list.go    | 12 +++++++-----
 cmd/podman/inspect.go        | 13 ++++++++-----
 3 files changed, 16 insertions(+), 10 deletions(-)

(limited to 'cmd')

diff --git a/cmd/podman/containers/run.go b/cmd/podman/containers/run.go
index 91edb6bda..151f71885 100644
--- a/cmd/podman/containers/run.go
+++ b/cmd/podman/containers/run.go
@@ -136,6 +136,7 @@ func run(cmd *cobra.Command, args []string) error {
 	}
 	if cliVals.Detach {
 		fmt.Println(report.Id)
+		return nil
 	}
 	if runRmi {
 		_, err := registry.ImageEngine().Delete(registry.GetContext(), []string{args[0]}, entities.ImageDeleteOptions{})
diff --git a/cmd/podman/images/list.go b/cmd/podman/images/list.go
index 366dfc4ba..63ddc5d56 100644
--- a/cmd/podman/images/list.go
+++ b/cmd/podman/images/list.go
@@ -112,14 +112,16 @@ func images(cmd *cobra.Command, args []string) error {
 func writeJSON(imageS []*entities.ImageSummary) error {
 	type image struct {
 		entities.ImageSummary
-		Created string
+		Created   string
+		CreatedAt string
 	}
 
 	imgs := make([]image, 0, len(imageS))
 	for _, e := range imageS {
 		var h image
 		h.ImageSummary = *e
-		h.Created = time.Unix(e.Created, 0).Format(time.RFC3339)
+		h.Created = units.HumanDuration(time.Since(e.Created)) + " ago"
+		h.CreatedAt = e.Created.Format(time.RFC3339Nano)
 		h.RepoTags = nil
 
 		imgs = append(imgs, h)
@@ -196,7 +198,7 @@ func sortFunc(key string, data []*entities.ImageSummary) func(i, j int) bool {
 	default:
 		// case "created":
 		return func(i, j int) bool {
-			return data[i].Created >= data[j].Created
+			return data[i].Created.After(data[j].Created)
 		}
 	}
 }
@@ -255,11 +257,11 @@ func (i imageReporter) ID() string {
 	if !listFlag.noTrunc && len(i.ImageSummary.ID) >= 12 {
 		return i.ImageSummary.ID[0:12]
 	}
-	return i.ImageSummary.ID
+	return "sha256:" + i.ImageSummary.ID
 }
 
 func (i imageReporter) Created() string {
-	return units.HumanDuration(time.Since(time.Unix(i.ImageSummary.Created, 0))) + " ago"
+	return units.HumanDuration(time.Since(i.ImageSummary.Created)) + " ago"
 }
 
 func (i imageReporter) Size() string {
diff --git a/cmd/podman/inspect.go b/cmd/podman/inspect.go
index 0393303e8..e67bc326b 100644
--- a/cmd/podman/inspect.go
+++ b/cmd/podman/inspect.go
@@ -4,6 +4,7 @@ import (
 	"context"
 	"fmt"
 
+	"github.com/containers/image/v5/docker/reference"
 	"github.com/containers/libpod/cmd/podman/common"
 	"github.com/containers/libpod/cmd/podman/containers"
 	"github.com/containers/libpod/cmd/podman/images"
@@ -37,12 +38,14 @@ func init() {
 }
 
 func inspect(cmd *cobra.Command, args []string) error {
-	if found, err := registry.ImageEngine().Exists(context.Background(), args[0]); err != nil {
-		return err
-	} else if found.Value {
-		return images.Inspect(cmd, args, inspectOpts)
+	// First check if the input is even valid for an image
+	if _, err := reference.Parse(args[0]); err == nil {
+		if found, err := registry.ImageEngine().Exists(context.Background(), args[0]); err != nil {
+			return err
+		} else if found.Value {
+			return images.Inspect(cmd, args, inspectOpts)
+		}
 	}
-
 	if found, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0]); err != nil {
 		return err
 	} else if found.Value {
-- 
cgit v1.2.3-54-g00ecf