diff options
author | Sebastian Jug <seb@stianj.ug> | 2021-03-29 20:21:00 -0400 |
---|---|---|
committer | Sebastian Jug <seb@stianj.ug> | 2021-04-20 09:18:52 -0400 |
commit | db7cff8c86a35a4b1971c3fbb2365eff9cc205d4 (patch) | |
tree | 3dc20b52f6a8b2de4acf8cb99ebff81776680959 /test/e2e/run_device_test.go | |
parent | cf2c3a1f13710014892804aacf855cd6b001a5ea (diff) | |
download | podman-db7cff8c86a35a4b1971c3fbb2365eff9cc205d4.tar.gz podman-db7cff8c86a35a4b1971c3fbb2365eff9cc205d4.tar.bz2 podman-db7cff8c86a35a4b1971c3fbb2365eff9cc205d4.zip |
Add support for CDI device configuration
- Persist CDIDevices in container config
- Add e2e test
- Log HasDevice error and add additional condition for safety
Signed-off-by: Sebastian Jug <seb@stianj.ug>
Diffstat (limited to 'test/e2e/run_device_test.go')
-rw-r--r-- | test/e2e/run_device_test.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/e2e/run_device_test.go b/test/e2e/run_device_test.go index 5a32ed827..3137e3fe4 100644 --- a/test/e2e/run_device_test.go +++ b/test/e2e/run_device_test.go @@ -2,6 +2,7 @@ package integration import ( "os" + "os/exec" . "github.com/containers/podman/v3/test/utils" . "github.com/onsi/ginkgo" @@ -94,4 +95,22 @@ var _ = Describe("Podman run device", func() { session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) }) + + It("podman run CDI device test", func() { + SkipIfRootless("Rootless will not be able to create files/folders in /etc") + cdiDir := "/etc/cdi" + if _, err := os.Stat(cdiDir); os.IsNotExist(err) { + Expect(os.MkdirAll(cdiDir, os.ModePerm)).To(BeNil()) + } + defer os.RemoveAll(cdiDir) + + cmd := exec.Command("cp", "cdi/device.json", cdiDir) + err = cmd.Run() + Expect(err).To(BeNil()) + + session := podmanTest.Podman([]string{"run", "-q", "--security-opt", "label=disable", "--device", "myKmsg", ALPINE, "ls", "--color=never", "/dev/kmsg1"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(session.OutputToString()).To(Equal("/dev/kmsg1")) + }) }) |