[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesos-commits
Subject:    mesos git commit: Added filtering of CFS cgroup tests.
From:       tillt () apache ! org
Date:       2015-11-26 16:05:06
Message-ID: 03995d8f8a674cd393cb22ca119a4bd6 () git ! apache ! org
[Download RAW message or body]

Repository: mesos
Updated Branches:
  refs/heads/master 5b5dd566a -> 07a34598f


Added filtering of CFS cgroup tests.

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


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

Branch: refs/heads/master
Commit: 07a34598f719c4798cc4fe27f971d3f95c84f7ef
Parents: 5b5dd56
Author: Greg Mann <greg@mesosphere.io>
Authored: Thu Nov 26 16:23:18 2015 +0100
Committer: Till Toenshoff <toenshoff@me.com>
Committed: Thu Nov 26 17:04:31 2015 +0100

----------------------------------------------------------------------
 src/tests/containerizer/cgroups_tests.cpp  |  2 +-
 src/tests/containerizer/isolator_tests.cpp |  4 +--
 src/tests/environment.cpp                  | 37 +++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/07a34598/src/tests/containerizer/cgroups_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/cgroups_tests.cpp b/src/tests/containerizer/cgroups_tests.cpp
index 2806cf4..919ff19 100644
--- a/src/tests/containerizer/cgroups_tests.cpp
+++ b/src/tests/containerizer/cgroups_tests.cpp
@@ -497,7 +497,7 @@ TEST_F(CgroupsAnyHierarchyTest, ROOT_CGROUPS_Write)
 }
 
 
-TEST_F(CgroupsAnyHierarchyTest, ROOT_CGROUPS_Cfs_Big_Quota)
+TEST_F(CgroupsAnyHierarchyTest, ROOT_CGROUPS_CFS_Big_Quota)
 {
   string hierarchy = path::join(baseHierarchy, "cpu");
   ASSERT_SOME(cgroups::create(hierarchy, TEST_CGROUPS_ROOT));

http://git-wip-us.apache.org/repos/asf/mesos/blob/07a34598/src/tests/containerizer/isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/isolator_tests.cpp b/src/tests/containerizer/isolator_tests.cpp
index 1fe9931..91178b6 100644
--- a/src/tests/containerizer/isolator_tests.cpp
+++ b/src/tests/containerizer/isolator_tests.cpp
@@ -436,7 +436,7 @@ TEST_F(RevocableCpuIsolatorTest, ROOT_CGROUPS_RevocableCpu)
 class LimitedCpuIsolatorTest : public MesosTest {};
 
 
-TEST_F(LimitedCpuIsolatorTest, ROOT_CGROUPS_Cfs)
+TEST_F(LimitedCpuIsolatorTest, ROOT_CGROUPS_CFS_Enable_Cfs)
 {
   slave::Flags flags;
 
@@ -550,7 +550,7 @@ TEST_F(LimitedCpuIsolatorTest, ROOT_CGROUPS_Cfs)
 // observed in MESOS-1049.
 // TODO(vinod): Revisit this if/when the isolator restricts the number
 // of cpus that an executor can use based on the slave cpus.
-TEST_F(LimitedCpuIsolatorTest, ROOT_CGROUPS_Cfs_Big_Quota)
+TEST_F(LimitedCpuIsolatorTest, ROOT_CGROUPS_CFS_Big_Quota)
 {
   slave::Flags flags;
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/07a34598/src/tests/environment.cpp
----------------------------------------------------------------------
diff --git a/src/tests/environment.cpp b/src/tests/environment.cpp
index ea70a5f..36f0ad0 100644
--- a/src/tests/environment.cpp
+++ b/src/tests/environment.cpp
@@ -120,6 +120,42 @@ public:
 };
 
 
+class CfsFilter : public TestFilter
+{
+public:
+  CfsFilter()
+  {
+#ifdef __linux__
+    Result<string> hierarchy = cgroups::hierarchy("cpu");
+    if (hierarchy.isSome()) {
+      cfsError = os::system(
+          "ls " + path::join(hierarchy.get(), "cpu.cfs_quota_us")) != 0;
+    } else {
+      cfsError = true;
+    }
+
+    if (cfsError) {
+      std::cerr
+        << "-------------------------------------------------------------\n"
+        << "No kernel support for CFS so no 'CFS' tests will be run\n"
+        << "-------------------------------------------------------------"
+        << std::endl;
+    }
+#else
+      cfsError = true;
+#endif // __linux__
+  }
+
+  bool disable(const ::testing::TestInfo* test) const
+  {
+    return matches(test, "CFS_") && cfsError;
+  }
+
+private:
+  bool cfsError;
+};
+
+
 class CgroupsFilter : public TestFilter
 {
 public:
@@ -416,6 +452,7 @@ Environment::Environment(const Flags& _flags) : flags(_flags)
   vector<Owned<TestFilter> > filters;
 
   filters.push_back(Owned<TestFilter>(new RootFilter()));
+  filters.push_back(Owned<TestFilter>(new CfsFilter()));
   filters.push_back(Owned<TestFilter>(new CgroupsFilter()));
   filters.push_back(Owned<TestFilter>(new DockerFilter()));
   filters.push_back(Owned<TestFilter>(new BenchmarkFilter()));

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic