summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2021-09-02 10:56:35 +0200
committerPaul Holzinger <pholzing@redhat.com>2021-09-02 11:01:10 +0200
commita077335ce50c53bca945656f49d64ac34bfee638 (patch)
tree661f2f7761dbda0de61bbe646cd948de07e34d8e
parent4207d959a68c1ee2b805b7113838580c14f4bbc6 (diff)
downloadpodman-a077335ce50c53bca945656f49d64ac34bfee638.tar.gz
podman-a077335ce50c53bca945656f49d64ac34bfee638.tar.bz2
podman-a077335ce50c53bca945656f49d64ac34bfee638.zip
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>
-rw-r--r--pkg/specgenutil/specgen.go2
-rw-r--r--test/e2e/systemd_test.go17
2 files changed, 18 insertions, 1 deletions
diff --git a/pkg/specgenutil/specgen.go b/pkg/specgenutil/specgen.go
index 9f676db1b..6a6397257 100644
--- a/pkg/specgenutil/specgen.go
+++ b/pkg/specgenutil/specgen.go
@@ -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{}
diff --git a/test/e2e/systemd_test.go b/test/e2e/systemd_test.go
index 3213a839a..a1b25b723 100644
--- a/test/e2e/systemd_test.go
+++ b/test/e2e/systemd_test.go
@@ -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"))
+ })
})