You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by qi...@apache.org on 2018/05/25 01:27:42 UTC
[5/8] mesos git commit: Removed extra `containerizer->wait()` calls
in tests.
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 <ab...@mesosphere.com>
Authored: Fri May 25 09:08:18 2018 +0800
Committer: Qian Zhang <zh...@gmail.com>
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());