From 0cd51b7f8361e9d6c34ab014ceb53780cb0fd196 Mon Sep 17 00:00:00 2001 From: Jessica Frazelle Date: Thu, 1 Oct 2015 20:11:55 -0700 Subject: [PATCH] add regression test for mounting /dev/shm from host Signed-off-by: Jessica Frazelle Upstream-commit: 934d9d632313acd338608ca1ad25c5270463e9c0 Component: engine --- .../integration-cli/docker_cli_run_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/components/engine/integration-cli/docker_cli_run_test.go b/components/engine/integration-cli/docker_cli_run_test.go index 794e8b209e..0d0c17e69e 100644 --- a/components/engine/integration-cli/docker_cli_run_test.go +++ b/components/engine/integration-cli/docker_cli_run_test.go @@ -2229,6 +2229,23 @@ func (s *DockerSuite) TestRunModeIpcContainerNotRunning(c *check.C) { } } +func (s *DockerSuite) TestRunMountShmMqueueFromHost(c *check.C) { + // Not applicable on Windows as uses Unix-specific capabilities + testRequires(c, SameHostDaemon, DaemonIsLinux) + + dockerCmd(c, "run", "-d", "--name", "shmfromhost", "-v", "/dev/shm:/dev/shm", "busybox", "sh", "-c", "echo -n test > /dev/shm/test && top") + volPath, err := inspectMountSourceField("shmfromhost", "/dev/shm") + c.Assert(err, check.IsNil) + if volPath != "/dev/shm" { + c.Fatalf("volumePath should have been /dev/shm, was %s", volPath) + } + + out, _ := dockerCmd(c, "run", "--name", "ipchost", "--ipc", "host", "busybox", "cat", "/dev/shm/test") + if out != "test" { + c.Fatalf("Output of /dev/shm/test expected test but found: %s", out) + } +} + func (s *DockerSuite) TestContainerNetworkMode(c *check.C) { // Not applicable on Windows as uses Unix-specific capabilities testRequires(c, SameHostDaemon, DaemonIsLinux)