summaryrefslogtreecommitdiff
path: root/test/e2e/run_volume_test.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2019-10-19 20:24:52 -0400
committerMatthew Heon <mheon@redhat.com>2019-10-30 14:41:16 -0400
commit3e891c1b6036f9df050cad8bf3517c7d9f82876e (patch)
tree51dc49e409355890c0c8e45a63f570e3b60cbfbe /test/e2e/run_volume_test.go
parentac73fd3fe5dcbf2647d589f9c9f37fe9531ed663 (diff)
downloadpodman-3e891c1b6036f9df050cad8bf3517c7d9f82876e.tar.gz
podman-3e891c1b6036f9df050cad8bf3517c7d9f82876e.tar.bz2
podman-3e891c1b6036f9df050cad8bf3517c7d9f82876e.zip
Wait for `mount` command to finish when mounting volume
command.Start() just starts the command. That catches some errors, but the nasty ones - bad options and similar - happen when the command runs. Use CombinedOutput() instead - it waits for the command to exit, and thus catches non-0 exit of the `mount` command (invalid options, for example). STDERR from the `mount` command is directly used, which isn't necessarily the best, but we can't really get much more info on what went wrong. Fixes #4303 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'test/e2e/run_volume_test.go')
-rw-r--r--test/e2e/run_volume_test.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go
index c96059787..8e5de85e4 100644
--- a/test/e2e/run_volume_test.go
+++ b/test/e2e/run_volume_test.go
@@ -364,4 +364,15 @@ var _ = Describe("Podman run with volumes", func() {
Expect(session.ExitCode()).To(Equal(0))
Expect(session.OutputToString()).To(Not(ContainSubstring("noexec")))
})
+
+ It("podman mount with invalid option fails", func() {
+ volName := "testVol"
+ volCreate := podmanTest.Podman([]string{"volume", "create", "--opt", "type=tmpfs", "--opt", "device=tmpfs", "--opt", "o=invalid", volName})
+ volCreate.WaitWithDefaultTimeout()
+ Expect(volCreate.ExitCode()).To(Equal(0))
+
+ volMount := podmanTest.Podman([]string{"run", "--rm", "-v", fmt.Sprintf("%s:/tmp", volName), ALPINE, "ls"})
+ volMount.WaitWithDefaultTimeout()
+ Expect(volMount.ExitCode()).To(Not(Equal(0)))
+ })
})