From 462c503a4762a0f20023d937a5fb05a55d4183a3 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Fri, 17 Aug 2018 18:17:44 -0400 Subject: Fix handling of devices Devices are supposed to be able to be passed in via the form of --device /dev/foo --device /dev/foo:/dev/bar --device /dev/foo:rwm --device /dev/foo:/dev/bar:rwm Signed-off-by: Daniel J Walsh Closes: #1299 Approved by: umohnani8 --- test/e2e/run_device_test.go | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'test/e2e') diff --git a/test/e2e/run_device_test.go b/test/e2e/run_device_test.go index eb1b423dd..fedd696d1 100644 --- a/test/e2e/run_device_test.go +++ b/test/e2e/run_device_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/gomega" ) -var _ = Describe("Podman kill", func() { +var _ = Describe("Podman run device", func() { var ( tempdir string err error @@ -43,4 +43,30 @@ var _ = Describe("Podman kill", func() { Expect(session.ExitCode()).To(Equal(0)) Expect(session.OutputToString()).To(Equal("/dev/kmsg")) }) + + It("podman run device rename test", func() { + session := podmanTest.Podman([]string{"run", "-q", "--device", "/dev/kmsg:/dev/kmsg1", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) + }) + + It("podman run device permission test", func() { + session := podmanTest.Podman([]string{"run", "-q", "--device", "/dev/kmsg:r", ALPINE, "ls", "--color=never", "/dev/kmsg"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(session.OutputToString()).To(Equal("/dev/kmsg")) + }) + + It("podman run device rename and permission test", func() { + session := podmanTest.Podman([]string{"run", "-q", "--device", "/dev/kmsg:/dev/kmsg1:r", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) + }) + It("podman run device rename and bad permission test", func() { + session := podmanTest.Podman([]string{"run", "-q", "--device", "/dev/kmsg:/dev/kmsg1:rd", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Not(Equal(0))) + }) }) -- cgit v1.2.3-54-g00ecf