You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2015/07/19 20:28:36 UTC

[3/4] mesos git commit: Preemptively fail tests if previous invocations failed.

Preemptively fail tests if previous invocations failed.

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


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

Branch: refs/heads/master
Commit: b1a23d6a52c31b8c5c840ab01902dbe00cb1feef
Parents: ec6f9f8
Author: Benjamin Hindman <be...@gmail.com>
Authored: Sun Jul 19 06:15:46 2015 +0000
Committer: Benjamin Hindman <be...@gmail.com>
Committed: Sun Jul 19 11:13:16 2015 -0700

----------------------------------------------------------------------
 src/tests/mesos.cpp | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/b1a23d6a/src/tests/mesos.cpp
----------------------------------------------------------------------
diff --git a/src/tests/mesos.cpp b/src/tests/mesos.cpp
index 5eab6de..f45069c 100644
--- a/src/tests/mesos.cpp
+++ b/src/tests/mesos.cpp
@@ -731,6 +731,29 @@ void ContainerizerTest<slave::MesosContainerizer>::SetUp()
               ->current_test_info()
               ->test_case_name() << ".*).\n"
           << "-------------------------------------------------------------";
+      } else {
+	// If the subsystem is already mounted in the hierarchy make
+	// sure that we don't have any existing cgroups that have
+	// persisted that match our TEST_CGROUPS_ROOT (because
+	// otherwise our tests will fail when we try and clean them up
+	// later).
+	Try<std::vector<string>> cgroups = cgroups::get(hierarchy);
+	CHECK_SOME(cgroups);
+
+	foreach (const string& cgroup, cgroups.get()) {
+	  // Remove any cgroups that start with TEST_CGROUPS_ROOT.
+	  if (strings::startsWith(cgroup, TEST_CGROUPS_ROOT)) {
+	    AWAIT_READY(cgroups::destroy(hierarchy, cgroup))
+              << "-------------------------------------------------------------\n"
+              << "We're very sorry but we can't seem to destroy existing\n"
+              << "cgroups that we likely created as part of an earlier\n"
+              << "invocation of the tests. Please manually destroy the cgroup\n"
+              << "at '" << path::join(hierarchy, cgroup) << "' by first manually\n"
+              << "killing all the processes found in the file at '"
+              << path::join(hierarchy, cgroup, "tasks") << "'\n"
+              << "-------------------------------------------------------------";
+	  }
+	}
       }
     }
   }