You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/07/13 22:55:41 UTC

[3/4] mesos git commit: Added docker test mount relative container path.

Added docker test mount relative container path.

Review: https://reviews.apache.org/r/49998/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f7df37b7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f7df37b7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f7df37b7

Branch: refs/heads/master
Commit: f7df37b7c9e3e9c20899ce906655087c3270c47b
Parents: 2b6f75c
Author: Gilbert Song <so...@gmail.com>
Authored: Wed Jul 13 15:52:18 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jul 13 15:52:18 2016 -0700

----------------------------------------------------------------------
 src/tests/containerizer/docker_tests.cpp | 47 +++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/f7df37b7/src/tests/containerizer/docker_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_tests.cpp b/src/tests/containerizer/docker_tests.cpp
index 0429a31..4108b57 100644
--- a/src/tests/containerizer/docker_tests.cpp
+++ b/src/tests/containerizer/docker_tests.cpp
@@ -558,6 +558,53 @@ TEST_F(DockerTest, ROOT_DOCKER_MountAbsoluteHostPath)
 }
 
 
+// This test verifies mounting in an absolute host path to
+// a relative container path when running a docker container
+// works.
+TEST_F(DockerTest, ROOT_DOCKER_MountRelativeContainerPath)
+{
+  Owned<Docker> docker = Docker::create(
+      tests::flags.docker,
+      tests::flags.docker_socket,
+      false).get();
+
+  ContainerInfo containerInfo;
+  containerInfo.set_type(ContainerInfo::DOCKER);
+
+  Try<string> directory = environment->mkdtemp();
+  ASSERT_SOME(directory);
+
+  const string testFile = path::join(directory.get(), "test_file");
+  EXPECT_SOME(os::write(testFile, "data"));
+
+  Volume* volume = containerInfo.add_volumes();
+  volume->set_host_path(testFile);
+  volume->set_container_path("tmp/test_file");
+  volume->set_mode(Volume::RO);
+
+  ContainerInfo::DockerInfo dockerInfo;
+  dockerInfo.set_image("alpine");
+
+  containerInfo.mutable_docker()->CopyFrom(dockerInfo);
+
+  CommandInfo commandInfo;
+  commandInfo.set_shell(true);
+  commandInfo.set_value("ls /mnt/mesos/sandbox/tmp/test_file");
+
+  Future<Option<int>> run = docker->run(
+      containerInfo,
+      commandInfo,
+      NAME_PREFIX + "-mount-relative-container-path-test",
+      directory.get(),
+      "/mnt/mesos/sandbox");
+
+  AWAIT_READY(run);
+  ASSERT_SOME(run.get());
+  EXPECT_TRUE(WIFEXITED(run->get())) << run->get();
+  EXPECT_EQ(0, WEXITSTATUS(run->get())) << run->get();
+}
+
+
 class DockerImageTest : public MesosTest {};