mirror of
https://github.com/containers/podman.git
synced 2025-06-26 04:46:57 +08:00
Merge pull request #9320 from baude/issue9315
container ps json format miscue
This commit is contained in:
@ -142,11 +142,19 @@ func checkFlags(c *cobra.Command) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func jsonOut(responses []entities.ListContainer) error {
|
func jsonOut(responses []entities.ListContainer) error {
|
||||||
r := make([]entities.ListContainer, 0)
|
type jsonFormat struct {
|
||||||
|
entities.ListContainer
|
||||||
|
Created int64
|
||||||
|
}
|
||||||
|
r := make([]jsonFormat, 0)
|
||||||
for _, con := range responses {
|
for _, con := range responses {
|
||||||
con.CreatedAt = units.HumanDuration(time.Since(con.Created)) + " ago"
|
con.CreatedAt = units.HumanDuration(time.Since(con.Created)) + " ago"
|
||||||
con.Status = psReporter{con}.Status()
|
con.Status = psReporter{con}.Status()
|
||||||
r = append(r, con)
|
jf := jsonFormat{
|
||||||
|
ListContainer: con,
|
||||||
|
Created: con.Created.UnixNano(),
|
||||||
|
}
|
||||||
|
r = append(r, jf)
|
||||||
}
|
}
|
||||||
b, err := json.MarshalIndent(r, "", " ")
|
b, err := json.MarshalIndent(r, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
. "github.com/containers/podman/v2/test/utils"
|
. "github.com/containers/podman/v2/test/utils"
|
||||||
@ -210,6 +211,22 @@ var _ = Describe("Podman ps", func() {
|
|||||||
Expect(result.IsJSONOutputValid()).To(BeTrue())
|
Expect(result.IsJSONOutputValid()).To(BeTrue())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("podman ps json format Created field is int64", func() {
|
||||||
|
session := podmanTest.RunTopContainer("test1")
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
|
|
||||||
|
result := podmanTest.Podman([]string{"ps", "--format", "json"})
|
||||||
|
result.WaitWithDefaultTimeout()
|
||||||
|
Expect(result.ExitCode()).To(Equal(0))
|
||||||
|
|
||||||
|
// Make sure Created field is an int64
|
||||||
|
created, err := result.jq(".[0].Created")
|
||||||
|
Expect(err).To(BeNil())
|
||||||
|
_, err = strconv.ParseInt(created, 10, 64)
|
||||||
|
Expect(err).To(BeNil())
|
||||||
|
})
|
||||||
|
|
||||||
It("podman ps print a human-readable `Status` with json format", func() {
|
It("podman ps print a human-readable `Status` with json format", func() {
|
||||||
_, ec, _ := podmanTest.RunLsContainer("test1")
|
_, ec, _ := podmanTest.RunLsContainer("test1")
|
||||||
Expect(ec).To(Equal(0))
|
Expect(ec).To(Equal(0))
|
||||||
|
Reference in New Issue
Block a user