Fix device tests using ls test files
The `ls` command is not intended for this purpose and may behave in unexpected ways, leading to false positive or negative results. Update the tests to use the purpose built `test` command instead. Also added several *TODO* comments for possible future testing enhancements. Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
		
							parent
							
								
									d0e3b3c3a9
								
							
						
					
					
						commit
						73a755eecb
					
				|  | @ -41,36 +41,35 @@ var _ = Describe("Podman run device", func() { | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run device test", func() { | 	It("podman run device test", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg", ALPINE, "ls", "--color=never", "/dev/kmsg"}) | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg", ALPINE, "test", "-c", "/dev/kmsg"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 		Expect(session.OutputToString()).To(Equal("/dev/kmsg")) |  | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run device rename test", func() { | 	It("podman run device rename test", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) | 		// TODO: Confirm absence of /dev/kmsg in container
 | ||||||
|  | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1", ALPINE, "test", "-c", "/dev/kmsg1"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 		Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) |  | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run device permission test", func() { | 	It("podman run device permission test", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:r", ALPINE, "ls", "--color=never", "/dev/kmsg"}) | 		// TODO: Confirm write-permission failure
 | ||||||
|  | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:r", ALPINE, "test", "-r", "/dev/kmsg"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 		Expect(session.OutputToString()).To(Equal("/dev/kmsg")) |  | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run device rename and permission test", func() { | 	It("podman run device rename and permission test", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1:r", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) | 		// TODO: Confirm write-permission failure
 | ||||||
|  | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1:r", ALPINE, "test", "-r", "/dev/kmsg1"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 		Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) |  | ||||||
| 	}) | 	}) | ||||||
| 	It("podman run device rename and bad permission test", func() { | 	It("podman run device rename and bad permission test", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1:rd", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "/dev/kmsg:/dev/kmsg1:rd", ALPINE, "true"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).To(ExitWithError()) | 		Expect(session).Should(Exit(125)) | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run device host device and container device parameter are directories", func() { | 	It("podman run device host device and container device parameter are directories", func() { | ||||||
|  | @ -110,14 +109,13 @@ var _ = Describe("Podman run device", func() { | ||||||
| 		err = cmd.Run() | 		err = cmd.Run() | ||||||
| 		Expect(err).To(BeNil()) | 		Expect(err).To(BeNil()) | ||||||
| 
 | 
 | ||||||
| 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "myKmsg", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) | 		session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "myKmsg", ALPINE, "test", "-c", "/dev/kmsg1"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 		Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) |  | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	It("podman run --gpus noop", func() { | 	It("podman run --gpus noop", func() { | ||||||
| 		session := podmanTest.Podman([]string{"run", "--gpus", "all", ALPINE, "ls", "/"}) | 		session := podmanTest.Podman([]string{"run", "--gpus", "all", ALPINE, "true"}) | ||||||
| 		session.WaitWithDefaultTimeout() | 		session.WaitWithDefaultTimeout() | ||||||
| 		Expect(session).Should(Exit(0)) | 		Expect(session).Should(Exit(0)) | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue