mirror of
https://github.com/containers/podman.git
synced 2026-03-13 08:01:19 +08:00
Merge pull request #10041 from chenk008/add_pidfile_flag
Add flag "--pidfile" for podman create/run
This commit is contained in:
@@ -508,4 +508,14 @@ var _ = Describe("Podman inspect", func() {
|
||||
Expect(data[0].HostConfig.CapDrop[1]).To(Equal("CAP_MKNOD"))
|
||||
Expect(data[0].HostConfig.CapDrop[2]).To(Equal("CAP_NET_RAW"))
|
||||
})
|
||||
|
||||
It("podman inspect container with GO format for PidFile", func() {
|
||||
SkipIfRemote("pidfile not handled by remote")
|
||||
session, ec, _ := podmanTest.RunLsContainer("test1")
|
||||
Expect(ec).To(Equal(0))
|
||||
|
||||
session = podmanTest.Podman([]string{"inspect", "--format", "{{.PidFile}}", "test1"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1613,4 +1613,20 @@ WORKDIR /madethis`, BB)
|
||||
Expect(running.ExitCode()).To(Equal(0))
|
||||
Expect(len(running.OutputToStringArray())).To(Equal(2))
|
||||
})
|
||||
|
||||
It("podman run with pidfile", func() {
|
||||
SkipIfRemote("pidfile not handled by remote")
|
||||
pidfile := tempdir + "pidfile"
|
||||
session := podmanTest.Podman([]string{"run", "--pidfile", pidfile, ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
readFirstLine := func(path string) string {
|
||||
content, err := ioutil.ReadFile(path)
|
||||
Expect(err).To(BeNil())
|
||||
return strings.Split(string(content), "\n")[0]
|
||||
}
|
||||
containerPID := readFirstLine(pidfile)
|
||||
_, err = strconv.Atoi(containerPID) // Make sure it's a proper integer
|
||||
Expect(err).To(BeNil())
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
. "github.com/containers/podman/v3/test/utils"
|
||||
. "github.com/onsi/ginkgo"
|
||||
@@ -206,4 +209,25 @@ var _ = Describe("Podman start", func() {
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(125))
|
||||
})
|
||||
|
||||
It("podman start container with special pidfile", func() {
|
||||
SkipIfRemote("pidfile not handled by remote")
|
||||
pidfile := tempdir + "pidfile"
|
||||
session := podmanTest.Podman([]string{"create", "--pidfile", pidfile, 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))
|
||||
readFirstLine := func(path string) string {
|
||||
content, err := ioutil.ReadFile(path)
|
||||
Expect(err).To(BeNil())
|
||||
return strings.Split(string(content), "\n")[0]
|
||||
}
|
||||
containerPID := readFirstLine(pidfile)
|
||||
_, err = strconv.Atoi(containerPID) // Make sure it's a proper integer
|
||||
Expect(err).To(BeNil())
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user