Removed extra `containerizer->wait()` calls in tests. Previously, `wait()` and `destroy()` containerizer methods returned different types, so it was necessarry to call `wait()` before calling `destroy()` to get the process's exit status. Now, as both methods return `ContainerTermination`, we can get rid of redundant `wait()` calls.
Review: https://reviews.apache.org/r/67128/ Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/a8eac5bb Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/a8eac5bb Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/a8eac5bb Branch: refs/heads/master Commit: a8eac5bb33fd23e4fc114e8941cde0a666a17e84 Parents: 3d156db Author: Andrei Budnik <[email protected]> Authored: Fri May 25 09:08:18 2018 +0800 Committer: Qian Zhang <[email protected]> Committed: Fri May 25 09:08:18 2018 +0800 ---------------------------------------------------------------------- src/tests/cluster.cpp | 14 +- .../docker_containerizer_tests.cpp | 4 +- .../containerizer/io_switchboard_tests.cpp | 26 +- .../linux_filesystem_isolator_tests.cpp | 4 +- .../containerizer/mesos_containerizer_tests.cpp | 58 ++-- .../nested_mesos_containerizer_tests.cpp | 273 +++++++++---------- .../volume_image_isolator_tests.cpp | 26 +- .../volume_sandbox_path_isolator_tests.cpp | 26 +- .../volume_secret_isolator_tests.cpp | 12 +- src/tests/slave_recovery_tests.cpp | 45 ++- 10 files changed, 211 insertions(+), 277 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/cluster.cpp ---------------------------------------------------------------------- diff --git a/src/tests/cluster.cpp b/src/tests/cluster.cpp index a65c4fa..01eb095 100644 --- a/src/tests/cluster.cpp +++ b/src/tests/cluster.cpp @@ -673,18 +673,16 @@ Slave::~Slave() } foreach (const ContainerID& containerId, containers.get()) { - process::Future<Option<ContainerTermination>> wait = - containerizer->wait(containerId); - - process::Future<Option<ContainerTermination>> destroy = + process::Future<Option<ContainerTermination>> termination = containerizer->destroy(containerId); - AWAIT(destroy); - AWAIT(wait); + AWAIT(termination); - if (!wait.isReady()) { + if (!termination.isReady()) { LOG(ERROR) << "Failed to destroy container " << containerId << ": " - << (wait.isFailed() ? wait.failure() : "discarded"); + << (termination.isFailed() ? + termination.failure() : + "discarded"); } } http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/docker_containerizer_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/docker_containerizer_tests.cpp b/src/tests/containerizer/docker_containerizer_tests.cpp index f474c71..ab00d6d 100644 --- a/src/tests/containerizer/docker_containerizer_tests.cpp +++ b/src/tests/containerizer/docker_containerizer_tests.cpp @@ -1862,9 +1862,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_RecoverPersistentVolumes) AWAIT_READY(_recover); Future<Option<ContainerTermination>> termination = - dockerContainerizer->wait(containerId.get()); - - dockerContainerizer->destroy(containerId.get()); + dockerContainerizer->destroy(containerId.get()); AWAIT_READY(termination); EXPECT_SOME(termination.get()); http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/io_switchboard_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/io_switchboard_tests.cpp b/src/tests/containerizer/io_switchboard_tests.cpp index 784386a..c00f6a9 100644 --- a/src/tests/containerizer/io_switchboard_tests.cpp +++ b/src/tests/containerizer/io_switchboard_tests.cpp @@ -754,16 +754,13 @@ TEST_F(IOSwitchboardTest, ContainerAttach) Future<http::Connection> connection = containerizer->attach(containerId); AWAIT_READY(connection); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - Future<Option<ContainerTermination>> destroy = + Future<Option<ContainerTermination>> termination = containerizer->destroy(containerId); - AWAIT_READY(destroy); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -906,15 +903,14 @@ TEST_F(IOSwitchboardTest, KillSwitchboardContainerDestroyed) ASSERT_EQ(TaskStatus::REASON_IO_SWITCHBOARD_EXITED, wait.get()->reason()); - wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/linux_filesystem_isolator_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp index bf04711..84b342c 100644 --- a/src/tests/containerizer/linux_filesystem_isolator_tests.cpp +++ b/src/tests/containerizer/linux_filesystem_isolator_tests.cpp @@ -471,13 +471,11 @@ TEST_F(LinuxFilesystemIsolatorTest, ROOT_MultipleContainers) // Wait on the containers. Future<Option<ContainerTermination>> wait1 = - containerizer->wait(containerId1); + containerizer->destroy(containerId1); Future<Option<ContainerTermination>> wait2 = containerizer->wait(containerId2); - containerizer->destroy(containerId1); - AWAIT_READY(wait1); ASSERT_SOME(wait1.get()); ASSERT_TRUE(wait1->get().has_status()); http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/mesos_containerizer_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/mesos_containerizer_tests.cpp b/src/tests/containerizer/mesos_containerizer_tests.cpp index 78dbdea..362d9fb 100644 --- a/src/tests/containerizer/mesos_containerizer_tests.cpp +++ b/src/tests/containerizer/mesos_containerizer_tests.cpp @@ -234,14 +234,13 @@ TEST_F(MesosContainerizerTest, Destroy) AWAIT_ASSERT_EQ(Containerizer::LaunchResult::SUCCESS, launch); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -291,14 +290,13 @@ TEST_F(MesosContainerizerTest, StatusWithContainerID) EXPECT_EQ(containerId, status->container_id()); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -399,9 +397,6 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ScriptSucceeds) // Check the preparation script actually ran. EXPECT_TRUE(os::exists(file)); - - // Destroy the container. - containerizer->destroy(containerId); } @@ -446,9 +441,6 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ScriptFails) // Check the preparation script actually ran. EXPECT_TRUE(os::exists(file)); - - // Destroy the container. - containerizer->destroy(containerId); } @@ -505,9 +497,6 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, MultipleScripts) // Check the failing preparation script has actually ran. EXPECT_TRUE(os::exists(file2)); - - // Destroy the container. - containerizer->destroy(containerId); } @@ -582,9 +571,6 @@ TEST_F(MesosContainerizerIsolatorPreparationTest, ExecutorEnvironmentVariable) // Check the preparation script actually ran. EXPECT_TRUE(os::exists(file)); - // Destroy the container. - containerizer->destroy(containerId); - // Reset LIBPROCESS_IP if necessary. if (libprocessIP.isSome()) { os::setenv("LIBPROCESS_IP", libprocessIP.get()); @@ -986,16 +972,13 @@ TEST_F(MesosContainerizerProvisionerTest, ProvisionFailed) AWAIT_FAILED(launch); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - ContainerTermination termination = wait->get(); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); - EXPECT_FALSE(termination.has_status()); + EXPECT_FALSE(termination->get().has_status()); } @@ -1241,12 +1224,11 @@ TEST_F(MesosContainerizerDestroyTest, LauncherDestroyFailure) AWAIT_ASSERT_EQ(Containerizer::LaunchResult::SUCCESS, launch); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); // The container destroy should fail. - AWAIT_FAILED(wait); + AWAIT_FAILED(termination); // We settle the clock here to ensure that the processing of // 'MesosContainerizerProcess::__destroy()' is complete and the http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/nested_mesos_containerizer_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/nested_mesos_containerizer_tests.cpp b/src/tests/containerizer/nested_mesos_containerizer_tests.cpp index 661be81..8664f59 100644 --- a/src/tests/containerizer/nested_mesos_containerizer_tests.cpp +++ b/src/tests/containerizer/nested_mesos_containerizer_tests.cpp @@ -230,14 +230,13 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_LaunchNested) ASSERT_TRUE(wait.get()->has_status()); EXPECT_WEXITSTATUS_EQ(42, wait.get()->status()); - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -413,14 +412,13 @@ TEST_F(NestedMesosContainerizerTest, } // Destroy the containerizer with all associated containers. - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -534,14 +532,13 @@ TEST_F(NestedMesosContainerizerTest, } // Destroy the containerizer with all associated containers. - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -704,14 +701,13 @@ TEST_F(NestedMesosContainerizerTest, } // Destroy the containerizer with all associated containers. - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -819,14 +815,13 @@ TEST_F(NestedMesosContainerizerTest, ASSERT_TRUE(wait.get()->has_status()); EXPECT_WEXITSTATUS_EQ(0, wait.get()->status()); - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -961,14 +956,13 @@ TEST_F(NestedMesosContainerizerTest, EXPECT_NE(stringify(parentPidNamespace.get()), stringify(pidNamespace2.get())); - wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -1204,14 +1198,13 @@ TEST_F(NestedMesosContainerizerTest, ASSERT_TRUE(wait.get()->has_status()); EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); - wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -1267,28 +1260,25 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_DestroyNested) AWAIT_ASSERT_EQ(Containerizer::LaunchResult::SUCCESS, launch); - Future<Option<ContainerTermination>> nestedWait = containerizer->wait( - nestedContainerId); + Future<Option<ContainerTermination>> nestedTermination = + containerizer->destroy(nestedContainerId); - containerizer->destroy(nestedContainerId); - - AWAIT_READY(nestedWait); - ASSERT_SOME(nestedWait.get()); + AWAIT_READY(nestedTermination); + ASSERT_SOME(nestedTermination.get()); // We expect a wait status of SIGKILL on the nested container. // Since the kernel will destroy these via a SIGKILL, we expect // a SIGKILL here. - ASSERT_TRUE(nestedWait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, nestedWait.get()->status()); + ASSERT_TRUE(nestedTermination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, nestedTermination.get()->status()); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -1344,26 +1334,25 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_DestroyParent) AWAIT_ASSERT_EQ(Containerizer::LaunchResult::SUCCESS, launch); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - Future<Option<ContainerTermination>> nestedWait = containerizer->wait( - nestedContainerId); + Future<Option<ContainerTermination>> nestedTermination = + containerizer->wait(nestedContainerId); - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(nestedWait); - ASSERT_SOME(nestedWait.get()); + AWAIT_READY(nestedTermination); + ASSERT_SOME(nestedTermination.get()); // We expect a wait status of SIGKILL on the nested container. // Since the kernel will destroy these via a SIGKILL, we expect // a SIGKILL here. - ASSERT_TRUE(nestedWait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, nestedWait.get()->status()); + ASSERT_TRUE(nestedTermination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, nestedTermination.get()->status()); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -1681,28 +1670,25 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_RecoverNested) ASSERT_TRUE(status->has_executor_pid()); EXPECT_EQ(nestedPid, static_cast<pid_t>(status->executor_pid())); - Future<Option<ContainerTermination>> nestedWait = containerizer->wait( - nestedContainerId); + Future<Option<ContainerTermination>> nestedTermination = + containerizer->destroy(nestedContainerId); - containerizer->destroy(nestedContainerId); - - AWAIT_READY(nestedWait); - ASSERT_SOME(nestedWait.get()); + AWAIT_READY(nestedTermination); + ASSERT_SOME(nestedTermination.get()); // We expect a wait status of SIGKILL on the nested container. // Since the kernel will destroy these via a SIGKILL, we expect // a SIGKILL here. - ASSERT_TRUE(nestedWait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, nestedWait.get()->status()); + ASSERT_TRUE(nestedTermination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, nestedTermination.get()->status()); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -1937,28 +1923,25 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_RecoverNestedWithoutConfig) ASSERT_TRUE(status->has_executor_pid()); EXPECT_EQ(nestedPid, static_cast<pid_t>(status->executor_pid())); - Future<Option<ContainerTermination>> nestedWait = containerizer->wait( - nestedContainerId); - - containerizer->destroy(nestedContainerId); + Future<Option<ContainerTermination>> nestedTermination = + containerizer->destroy(nestedContainerId); - AWAIT_READY(nestedWait); - ASSERT_SOME(nestedWait.get()); + AWAIT_READY(nestedTermination); + ASSERT_SOME(nestedTermination.get()); // We expect a wait status of SIGKILL on the nested container. // Since the kernel will destroy these via a SIGKILL, we expect // a SIGKILL here. - ASSERT_TRUE(nestedWait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, nestedWait.get()->status()); - - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); + ASSERT_TRUE(nestedTermination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, nestedTermination.get()->status()); - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -2129,14 +2112,13 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_RecoverNestedLauncherOrphans) AWAIT_READY(containers); ASSERT_FALSE(containers->contains(nestedContainerId)); - wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -2344,14 +2326,13 @@ TEST_F(NestedMesosContainerizerTest, ASSERT_FALSE(containers->contains(nestedContainerId1)); ASSERT_FALSE(containers->contains(nestedContainerId2)); - Future<Option<ContainerTermination>> wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -2491,27 +2472,24 @@ TEST_F(NestedMesosContainerizerTest, AWAIT_READY(containers); ASSERT_FALSE(containers->contains(nestedContainerId2)); - wait = containerizer->wait(nestedContainerId1); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(nestedContainerId1); - containerizer->destroy(nestedContainerId1); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); // We expect a wait status of SIGKILL on the nested container. // Since the kernel will destroy these via a SIGKILL, we expect // a SIGKILL here. - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); - wait = containerizer->wait(containerId); + termination = containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -2681,14 +2659,13 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_AgentEnvironmentNotLeaked) ASSERT_TRUE(wait.get()->has_status()); EXPECT_WEXITSTATUS_EQ(0, wait.get()->status()); - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -2778,10 +2755,10 @@ TEST_F(NestedMesosContainerizerTest, ROOT_CGROUPS_Remove) AWAIT_READY(remove); // Finally destroy the parent container. - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - wait = containerizer->wait(containerId); - AWAIT_READY(wait); + AWAIT_READY(termination); } @@ -2855,10 +2832,10 @@ TEST_F(NestedMesosContainerizerTest, ASSERT_TRUE(os::exists(sandboxPath)); // Now destroy the parent container. - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - wait = containerizer->wait(containerId); - AWAIT_READY(wait); + AWAIT_READY(termination); // We expect `remove` to fail. Future<Nothing> remove = containerizer->remove(nestedContainerId); http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/volume_image_isolator_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/volume_image_isolator_tests.cpp b/src/tests/containerizer/volume_image_isolator_tests.cpp index 3aa19e2..c2647f4 100644 --- a/src/tests/containerizer/volume_image_isolator_tests.cpp +++ b/src/tests/containerizer/volume_image_isolator_tests.cpp @@ -145,14 +145,13 @@ TEST_P(VolumeImageIsolatorTest, ROOT_ImageInVolumeWithoutRootFilesystem) EXPECT_WEXITSTATUS_EQ(0, wait->get().status()); if (nesting) { - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait->get().has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination->get().has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } } @@ -235,14 +234,13 @@ TEST_P(VolumeImageIsolatorTest, ROOT_ImageInVolumeWithRootFilesystem) EXPECT_WEXITSTATUS_EQ(0, wait->get().status()); if (nesting) { - wait = containerizer->wait(containerId); - - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait->get().has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination->get().has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } } http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/volume_sandbox_path_isolator_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/volume_sandbox_path_isolator_tests.cpp b/src/tests/containerizer/volume_sandbox_path_isolator_tests.cpp index 7aa181b..97b35a4 100644 --- a/src/tests/containerizer/volume_sandbox_path_isolator_tests.cpp +++ b/src/tests/containerizer/volume_sandbox_path_isolator_tests.cpp @@ -203,14 +203,13 @@ TEST_F(VolumeSandboxPathIsolatorTest, SharedParentTypeVolume) ASSERT_TRUE(wait.get()->has_status()); EXPECT_WEXITSTATUS_EQ(0, wait.get()->status()); - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } @@ -368,14 +367,13 @@ TEST_F(VolumeSandboxPathIsolatorTest, ASSERT_TRUE(wait.get()->has_status()); EXPECT_WEXITSTATUS_EQ(0, wait.get()->status()); - wait = containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } } // namespace tests { http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/containerizer/volume_secret_isolator_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/containerizer/volume_secret_isolator_tests.cpp b/src/tests/containerizer/volume_secret_isolator_tests.cpp index 56691ae..3df575c 100644 --- a/src/tests/containerizer/volume_secret_isolator_tests.cpp +++ b/src/tests/containerizer/volume_secret_isolator_tests.cpp @@ -245,13 +245,13 @@ TEST_P(VolumeSecretIsolatorTest, ROOT_SecretInVolumeWithRootFilesystem) EXPECT_WEXITSTATUS_EQ(0, wait.get()->status()); // Now wait for parent container. - wait = containerizer->wait(containerId); - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - ASSERT_SOME(wait.get()); - ASSERT_TRUE(wait.get()->has_status()); - EXPECT_WTERMSIG_EQ(SIGKILL, wait.get()->status()); + AWAIT_READY(termination); + ASSERT_SOME(termination.get()); + ASSERT_TRUE(termination.get()->has_status()); + EXPECT_WTERMSIG_EQ(SIGKILL, termination.get()->status()); } } // namespace tests { http://git-wip-us.apache.org/repos/asf/mesos/blob/a8eac5bb/src/tests/slave_recovery_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/slave_recovery_tests.cpp b/src/tests/slave_recovery_tests.cpp index afe8b8a..2a92acc 100644 --- a/src/tests/slave_recovery_tests.cpp +++ b/src/tests/slave_recovery_tests.cpp @@ -2290,13 +2290,11 @@ TYPED_TEST(SlaveRecoveryTest, RemoveNonCheckpointingFramework) AWAIT_READY(containers); foreach (const ContainerID& containerId, containers.get()) { - Future<Option<ContainerTermination>> wait = - containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - EXPECT_SOME(wait.get()); + AWAIT_READY(termination); + EXPECT_SOME(termination.get()); } } @@ -3494,13 +3492,11 @@ TYPED_TEST(SlaveRecoveryTest, RegisterDisconnectedSlave) AWAIT_READY(containers); foreach (const ContainerID& containerId, containers.get()) { - Future<Option<ContainerTermination>> wait = - containerizer->wait(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - containerizer->destroy(containerId); - - AWAIT_READY(wait); - EXPECT_SOME(wait.get()); + AWAIT_READY(termination); + EXPECT_SOME(termination.get()); } } @@ -5150,13 +5146,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, ResourceStatistics) EXPECT_TRUE(usage->has_cpus_limit()); EXPECT_TRUE(usage->has_mem_limit_bytes()); - Future<Option<ContainerTermination>> wait = - containerizer->wait(containerId); - - containerizer->destroy(containerId); + // Destroy the container. + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); - AWAIT_READY(wait); - EXPECT_SOME(wait.get()); + AWAIT_READY(termination); + EXPECT_SOME(termination.get()); driver.stop(); driver.join(); @@ -5265,12 +5260,9 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PidNamespaceForward) AWAIT_READY(offers2); EXPECT_FALSE(offers2->empty()); - // Set up to wait on the container's termination. - Future<Option<ContainerTermination>> termination = - containerizer->wait(containerId); - // Destroy the container. - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); AWAIT_READY(termination); EXPECT_SOME(termination.get()); @@ -5381,12 +5373,9 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PidNamespaceBackward) AWAIT_READY(offers2); EXPECT_FALSE(offers2->empty()); - // Set up to wait on the container's termination. - Future<Option<ContainerTermination>> termination = - containerizer->wait(containerId); - // Destroy the container. - containerizer->destroy(containerId); + Future<Option<ContainerTermination>> termination = + containerizer->destroy(containerId); AWAIT_READY(termination); EXPECT_SOME(termination.get());
