mirror of
https://github.com/containers/podman.git
synced 2025-05-30 23:17:20 +08:00
Migrate start, stats, stop to Ginkgo
Migrate the start, stats, and stop integration tests to the Ginkgo style. Signed-off-by: baude <bbaude@redhat.com> Closes: #274 Approved by: mheon
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"encoding/json"
|
||||
"github.com/containers/image/copy"
|
||||
"github.com/containers/image/signature"
|
||||
"github.com/containers/image/storage"
|
||||
@ -30,17 +31,18 @@ import (
|
||||
//TODO whats the best way to clean up after a test
|
||||
|
||||
var (
|
||||
PODMAN_BINARY string
|
||||
CONMON_BINARY string
|
||||
CNI_CONFIG_DIR string
|
||||
RUNC_BINARY string
|
||||
INTEGRATION_ROOT string
|
||||
STORAGE_OPTIONS = "--storage-driver vfs"
|
||||
ARTIFACT_DIR = "/tmp/.artifacts"
|
||||
IMAGES = []string{"alpine", "busybox"}
|
||||
ALPINE = "docker.io/library/alpine:latest"
|
||||
BB_GLIBC = "docker.io/library/busybox:glibc"
|
||||
fedoraMinimal = "registry.fedoraproject.org/fedora-minimal:latest"
|
||||
PODMAN_BINARY string
|
||||
CONMON_BINARY string
|
||||
CNI_CONFIG_DIR string
|
||||
RUNC_BINARY string
|
||||
INTEGRATION_ROOT string
|
||||
STORAGE_OPTIONS = "--storage-driver vfs"
|
||||
ARTIFACT_DIR = "/tmp/.artifacts"
|
||||
IMAGES = []string{"alpine", "busybox"}
|
||||
ALPINE = "docker.io/library/alpine:latest"
|
||||
BB_GLIBC = "docker.io/library/busybox:glibc"
|
||||
fedoraMinimal = "registry.fedoraproject.org/fedora-minimal:latest"
|
||||
defaultWaitTimeout = 90
|
||||
)
|
||||
|
||||
// PodmanSession wrapps the gexec.session so we can extend it
|
||||
@ -156,7 +158,7 @@ func (p *PodmanTest) Podman(args []string) *PodmanSession {
|
||||
func (p *PodmanTest) Cleanup() {
|
||||
// Remove all containers
|
||||
session := p.Podman([]string{"rm", "-fa"})
|
||||
session.Wait()
|
||||
session.Wait(60)
|
||||
// Nuke tempdir
|
||||
if err := os.RemoveAll(p.TempDir); err != nil {
|
||||
fmt.Printf("%q\n", err)
|
||||
@ -203,6 +205,22 @@ func (s *PodmanSession) OutputToString() string {
|
||||
return strings.Join(fields, " ")
|
||||
}
|
||||
|
||||
// IsJSONOutputValid attempts to unmarshall the session buffer
|
||||
// and if successful, returns true, else false
|
||||
func (s *PodmanSession) IsJSONOutputValid() bool {
|
||||
var i interface{}
|
||||
if err := json.Unmarshal(s.Out.Contents(), &i); err != nil {
|
||||
fmt.Println(err)
|
||||
fmt.Println(s.OutputToString())
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *PodmanSession) WaitWithDefaultTimeout() {
|
||||
s.Wait(defaultWaitTimeout)
|
||||
}
|
||||
|
||||
// SystemExec is used to exec a system command to check its exit code or output
|
||||
func (p *PodmanTest) SystemExec(command string, args []string) *PodmanSession {
|
||||
c := exec.Command(command, args...)
|
||||
@ -306,3 +324,14 @@ func (p *PodmanTest) RestoreAllArtifacts() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//RunSleepContainer runs a simple container in the background that
|
||||
// sleeps. If the name passed != "", it will have a name
|
||||
func (p *PodmanTest) RunSleepContainer(name string) *PodmanSession {
|
||||
var podmanArgs = []string{"run"}
|
||||
if name != "" {
|
||||
podmanArgs = append(podmanArgs, "--name", name)
|
||||
}
|
||||
podmanArgs = append(podmanArgs, "-d", ALPINE, "sleep", "90")
|
||||
return p.Podman(podmanArgs)
|
||||
}
|
||||
|
78
test/e2e/start_test.go
Normal file
78
test/e2e/start_test.go
Normal file
@ -0,0 +1,78 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Podman start", 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 start bogus container", func() {
|
||||
session := podmanTest.Podman([]string{"start", "123"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(125))
|
||||
})
|
||||
|
||||
It("podman start single container by id", func() {
|
||||
session := podmanTest.Podman([]string{"create", "-d", ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid := session.OutputToString()
|
||||
session = podmanTest.Podman([]string{"start", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman start single container by name", func() {
|
||||
session := podmanTest.Podman([]string{"create", "-d", "--name", "foobar99", ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"start", "foobar99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman start multiple containers", func() {
|
||||
session := podmanTest.Podman([]string{"create", "-d", "--name", "foobar99", ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
cid1 := session.OutputToString()
|
||||
session2 := podmanTest.Podman([]string{"create", "-d", "--name", "foobar99", ALPINE, "ls"})
|
||||
session2.WaitWithDefaultTimeout()
|
||||
cid2 := session2.OutputToString()
|
||||
session = podmanTest.Podman([]string{"start", cid1, cid2})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman multiple containers -- attach should fail", func() {
|
||||
session := podmanTest.Podman([]string{"create", "--name", "foobar1", ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"create", "--name", "foobar2", ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"start", "-a", "foobar1", "foobar2"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(125))
|
||||
})
|
||||
})
|
89
test/e2e/stats_test.go
Normal file
89
test/e2e/stats_test.go
Normal file
@ -0,0 +1,89 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Podman stats", 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 stats should run with no containers", func() {
|
||||
session := podmanTest.Podman([]string{"stats", "--no-stream"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats with bogus container", func() {
|
||||
session := podmanTest.Podman([]string{"stats", "--no-stream", "123"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(125))
|
||||
})
|
||||
|
||||
It("podman on a running container", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid := session.OutputToString()
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman on a running container no id", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats on all containers", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream", "-a"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats only output cids", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "\"{{.Container}}\""})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats with json output", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "json"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
Expect(session.IsJSONOutputValid()).To(BeTrue())
|
||||
})
|
||||
|
||||
})
|
88
test/e2e/stop_test.go
Normal file
88
test/e2e/stop_test.go
Normal file
@ -0,0 +1,88 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Podman stop", 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 stop bogus container", func() {
|
||||
session := podmanTest.Podman([]string{"stop", "foobar"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(125))
|
||||
})
|
||||
|
||||
It("podman stop container by id", func() {
|
||||
session := podmanTest.RunSleepContainer("")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid := session.OutputToString()
|
||||
session = podmanTest.Podman([]string{"stop", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stop container by name", func() {
|
||||
session := podmanTest.RunSleepContainer("test1")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stop", "test1"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stop all containers", func() {
|
||||
session := podmanTest.RunSleepContainer("test1")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid1 := session.OutputToString()
|
||||
|
||||
session = podmanTest.RunSleepContainer("test2")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid2 := session.OutputToString()
|
||||
|
||||
session = podmanTest.RunSleepContainer("test3")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
cid3 := session.OutputToString()
|
||||
|
||||
session = podmanTest.Podman([]string{"stop", "-a", "-t", "1"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
output := session.OutputToString()
|
||||
Expect(output).To(ContainSubstring(cid1))
|
||||
Expect(output).To(ContainSubstring(cid2))
|
||||
Expect(output).To(ContainSubstring(cid3))
|
||||
})
|
||||
|
||||
It("podman stop latest containers", func() {
|
||||
session := podmanTest.RunSleepContainer("test1")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stop", "-l", "-t", "1"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
})
|
@ -1,50 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load helpers
|
||||
|
||||
function setup() {
|
||||
copy_images
|
||||
}
|
||||
|
||||
function teardown() {
|
||||
cleanup_test
|
||||
}
|
||||
|
||||
@test "start bogus container" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} start 1234
|
||||
echo "$output"
|
||||
[ "$status" -eq 125 ]
|
||||
}
|
||||
|
||||
@test "start single container by id" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} create -d ${ALPINE} ls
|
||||
ctr_id=${output}
|
||||
run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} start $ctr_id
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "start single container by name" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} create -d --name foobar99 ${ALPINE} ls
|
||||
run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} start foobar
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "start multiple containers" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} create -d ${ALPINE} ls
|
||||
ctr1_id=${output}
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} create -d ${ALPINE} ls
|
||||
ctr1_id2=${output}
|
||||
run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} start $ctr1_id $ctr2_id
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "start multiple containers -- attach should fail" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} create --name foobar1 -d ${ALPINE} ls
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} create --name foobar2 -d ${ALPINE} ls
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} start -a foobar1 foobar2
|
||||
echo "$output"
|
||||
[ "$status" -eq 125 ]
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load helpers
|
||||
|
||||
function teardown() {
|
||||
cleanup_test
|
||||
}
|
||||
|
||||
function setup() {
|
||||
copy_images
|
||||
}
|
||||
|
||||
@test "stats should run with no containers" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "stats with bogus container id" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream 123
|
||||
echo "$output"
|
||||
[ "$status" -eq 125 ]
|
||||
}
|
||||
|
||||
@test "stats on a running container" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d -t ${ALPINE} sleep 99
|
||||
ctr_id="$output"
|
||||
echo "$output"
|
||||
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream $ctr_id"
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "stats on a running container no id" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d -t ${ALPINE} sleep 99
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "stats on all containers" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d -t ${ALPINE} ls
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream -a
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "stats only output IDs" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d -t ${ALPINE} sleep 99
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream --format "{{.Container}}"
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "stats json output" {
|
||||
${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d -t ${ALPINE} ls
|
||||
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stats --no-stream -a --format json | python -m json.tool"
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load helpers
|
||||
|
||||
function teardown() {
|
||||
cleanup_test
|
||||
}
|
||||
|
||||
function setup() {
|
||||
copy_images
|
||||
}
|
||||
|
||||
@test "stop a bogus container" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stop foobar
|
||||
echo "$output"
|
||||
[ "$status" -eq 125 ]
|
||||
}
|
||||
|
||||
@test "stop a running container by id" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
ctr_id="$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps --no-trunc
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"$ctr_id"* ]]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stop $ctr_id
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps --no-trunc
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" != *"$ctr_id"* ]]
|
||||
}
|
||||
|
||||
@test "stop a running container by name" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"test1"* ]]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stop test1
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" != *"test1"* ]]
|
||||
}
|
||||
|
||||
@test "stop all containers" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test2 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test3 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[[ "$output" == *"test1"* ]]
|
||||
[[ "$output" == *"test2"* ]]
|
||||
[[ "$output" == *"test3"* ]]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stop -a -t 1
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[[ "$output" != *"test1"* ]]
|
||||
[[ "$output" != *"test2"* ]]
|
||||
[[ "$output" != *"test3"* ]]
|
||||
}
|
||||
|
||||
@test "stop a container with latest" {
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} run --name test2 -d ${ALPINE} sleep 9999
|
||||
echo "$output"
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[[ "$output" == *"test1"* ]]
|
||||
[[ "$output" == *"test2"* ]]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} stop -t 1 -l
|
||||
echo "$output"
|
||||
[ "$status" -eq 0 ]
|
||||
run ${PODMAN_BINARY} ${PODMAN_OPTIONS} ps
|
||||
echo "$output"
|
||||
[[ "$output" == *"test1"* ]]
|
||||
[[ "$output" != *"test2"* ]]
|
||||
}
|
Reference in New Issue
Block a user