summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-02-05 09:29:46 -0600
committerAtomic Bot <atomic-devel@projectatomic.io>2018-02-05 15:41:06 +0000
commit910baf433fdbc6ad6d85cfeacb5ccc59b37aa634 (patch)
treefb8b711f8af61b1657f032a48d527fae3981fda6 /test
parent989f5e30627eb90a66fa06f87c40d161476395ed (diff)
downloadpodman-910baf433fdbc6ad6d85cfeacb5ccc59b37aa634.tar.gz
podman-910baf433fdbc6ad6d85cfeacb5ccc59b37aa634.tar.bz2
podman-910baf433fdbc6ad6d85cfeacb5ccc59b37aa634.zip
Deprecate --format for podman top
Issue #169 describes a common failure when running podman top where if the commands inside the container container a space in them, podman will panic. This was occuring because we take the output from ps and attempt to format it nicely for output and things like JSON. Given that this cannot be predicted or dealt with programatically, the decision was made to deprecate the format switch and simply output what ps provides us. Migrated top integration tests to ginkgo. Resolves Issue: https://github.com/projectatomic/libpod/issues/169 Signed-off-by: baude <bbaude@redhat.com> Closes: #291 Approved by: rhatdan
Diffstat (limited to 'test')
-rw-r--r--test/e2e/top_test.go72
-rw-r--r--test/podman_top.bats51
2 files changed, 72 insertions, 51 deletions
diff --git a/test/e2e/top_test.go b/test/e2e/top_test.go
new file mode 100644
index 000000000..d4438293b
--- /dev/null
+++ b/test/e2e/top_test.go
@@ -0,0 +1,72 @@
+package integration
+
+import (
+ "os"
+
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+)
+
+var _ = Describe("Podman top", func() {
+ var (
+ tempdir string
+ err error
+ podmanTest PodmanTest
+ )
+
+ BeforeEach(func() {
+ tempdir, err = CreateTempDirInTempDir()
+ if err != nil {
+ os.Exit(1)
+ }
+ podmanTest = PodmanCreate(tempdir)
+ podmanTest.RestoreAllArtifacts()
+ })
+
+ AfterEach(func() {
+ podmanTest.Cleanup()
+
+ })
+
+ It("podman top without container name or id", func() {
+ result := podmanTest.Podman([]string{"top"})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(125))
+ })
+
+ It("podman top on bogus container", func() {
+ result := podmanTest.Podman([]string{"top", "1234"})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(125))
+ })
+
+ It("podman top on non-running container", func() {
+ _, ec, cid := podmanTest.RunLsContainer("")
+ Expect(ec).To(Equal(0))
+ result := podmanTest.Podman([]string{"top", cid})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(125))
+ })
+
+ It("podman top on container", func() {
+ session := podmanTest.Podman([]string{"run", "-d", ALPINE, "top", "-d", "2"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ result := podmanTest.Podman([]string{"top", "-l"})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+ Expect(len(result.OutputToStringArray())).To(BeNumerically(">", 1))
+ })
+
+ It("podman top on non-running container", func() {
+ session := podmanTest.Podman([]string{"run", "-d", ALPINE, "top", "-d", "2"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ result := podmanTest.Podman([]string{"top", session.OutputToString(), "-o", "fuser,f,comm,label"})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+ Expect(len(result.OutputToStringArray())).To(BeNumerically(">", 1))
+ })
+})
diff --git a/test/podman_top.bats b/test/podman_top.bats
deleted file mode 100644
index cfa037aa6..000000000
--- a/test/podman_top.bats
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bats
-
-load helpers
-
-function teardown() {
- cleanup_test
-}
-
-function setup() {
- copy_images
-}
-
-@test "top without container name or id" {
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} top
- echo "$output"
- [ "$status" -eq 125 ]
-}
-
-@test "top a bogus container" {
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} top foobar
- echo "$output"
- [ "$status" -eq 125 ]
-}
-
-@test "top non-running container by id with defaults" {
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} create -d ${ALPINE} sleep 60
- [ "$status" -eq 0 ]
- ctr_id="$output"
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} top $ctr_id
- echo "$output"
- [ "$status" -eq 125 ]
-}
-
-@test "top running container by id with defaults" {
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run -dt ${ALPINE} /bin/sh
- [ "$status" -eq 0 ]
- ctr_id="$output"
- echo $ctr_id
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} top $ctr_id
- echo "$output"
- [ "$status" -eq 0 ]
-}
-
-@test "top running container by id with ps opts" {
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d ${ALPINE} sleep 60
- [ "$status" -eq 0 ]
- ctr_id="$output"
- run ${PODMAN_BINARY} ${PODMAN_OPTIONS} top $ctr_id -o fuser,f,comm,label
- echo "$output"
- [ "$status" -eq 0 ]
-}