make podman run --systemd case insensitive

Since boolean flags accept `True` and `False` the systemd flag should do
this as well.

Fixes #11387

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2021-09-02 10:56:35 +02:00
parent 4207d959a6
commit a077335ce5
2 changed files with 18 additions and 1 deletions

View File

@ -453,7 +453,7 @@ func FillOutSpecGen(s *specgen.SpecGenerator, c *entities.ContainerCreateOptions
s.ImageVolumeMode = "anonymous"
}
s.Systemd = c.Systemd
s.Systemd = strings.ToLower(c.Systemd)
s.SdNotifyMode = c.SdNotifyMode
if s.ResourceLimits == nil {
s.ResourceLimits = &specs.LinuxResources{}

View File

@ -176,4 +176,21 @@ WantedBy=multi-user.target
Expect(session.OutputToString()).To(Not(ContainSubstring("noexec")))
})
It("podman run --systemd arg is case insensitive", func() {
session := podmanTest.Podman([]string{"run", "--rm", "--systemd", "Always", ALPINE, "echo", "test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
Expect(session.OutputToString()).Should(Equal("test"))
session = podmanTest.Podman([]string{"run", "--rm", "--systemd", "True", ALPINE, "echo", "test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
Expect(session.OutputToString()).Should(Equal("test"))
session = podmanTest.Podman([]string{"run", "--rm", "--systemd", "False", ALPINE, "echo", "test"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
Expect(session.OutputToString()).Should(Equal("test"))
})
})