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 2015/06/04 00:08:49 UTC
mesos git commit: Added new qdisc tests for fq_codel and ingress
queueing discipline.
Repository: mesos
Updated Branches:
refs/heads/master 296bb188d -> 796f6a6a0
Added new qdisc tests for fq_codel and ingress queueing discipline.
Review: https://reviews.apache.org/r/34832
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/796f6a6a
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/796f6a6a
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/796f6a6a
Branch: refs/heads/master
Commit: 796f6a6a08ccbabe8a05e564cb5b542fc358468a
Parents: 296bb18
Author: Paul Brett <pa...@twopensource.com>
Authored: Wed Jun 3 15:08:28 2015 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jun 3 15:08:29 2015 -0700
----------------------------------------------------------------------
src/tests/routing_tests.cpp | 82 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 79 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/796f6a6a/src/tests/routing_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/routing_tests.cpp b/src/tests/routing_tests.cpp
index 2066a56..687c2fd 100644
--- a/src/tests/routing_tests.cpp
+++ b/src/tests/routing_tests.cpp
@@ -415,15 +415,91 @@ TEST_F(RoutingVethTest, ROOT_LinkMTU)
}
-TEST_F(RoutingVethTest, ROOT_FqCodelCreate)
+TEST_F(RoutingVethTest, ROOT_IngressQdisc)
{
- ASSERT_SOME(link::create(TEST_VETH_LINK, TEST_PEER_LINK, None()));
+ // Test for a qdisc on a non-existant interface should fail.
+ EXPECT_SOME_FALSE(ingress::exists("noSuchInterface"));
+
+ EXPECT_SOME(link::create(TEST_VETH_LINK, TEST_PEER_LINK, None()));
EXPECT_SOME_TRUE(link::exists(TEST_VETH_LINK));
EXPECT_SOME_TRUE(link::exists(TEST_PEER_LINK));
- ASSERT_SOME_TRUE(fq_codel::create(TEST_VETH_LINK));
+ // Interface exists but does not have an ingress filter.
+ EXPECT_SOME_FALSE(ingress::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_PEER_LINK));
+
+ // Try to create an ingress filter on an non-existant interface.
+ EXPECT_ERROR(ingress::create("noSuchInterface"));
+
+ // Create an ingress filter on an existing interface.
+ EXPECT_SOME_TRUE(ingress::create(TEST_VETH_LINK));
+
+ // Interface exists and has an ingress filter.
+ EXPECT_SOME_TRUE(ingress::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_PEER_LINK));
+
+ // Try to create a second ingress filter on an existing interface.
+ EXPECT_SOME_FALSE(ingress::create(TEST_VETH_LINK));
+ EXPECT_SOME_TRUE(ingress::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_PEER_LINK));
+
+ // Remove the ingress filter.
+ EXPECT_SOME_TRUE(ingress::remove(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_PEER_LINK));
+
+ // Try to remove it from the non-existant interface.
+ EXPECT_SOME_FALSE(ingress::remove("noSuchInterface"));
+
+ // Remove the ingress filter when it does not exist.
+ EXPECT_SOME_FALSE(ingress::remove(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(ingress::exists(TEST_PEER_LINK));
+}
+
+
+TEST_F(RoutingVethTest, ROOT_FqCodeQdisc)
+{
+ // Test for a qdisc on a non-existant interface should fail.
+ EXPECT_SOME_FALSE(fq_codel::exists("noSuchInterface"));
+
+ EXPECT_SOME(link::create(TEST_VETH_LINK, TEST_PEER_LINK, None()));
+
+ EXPECT_SOME_TRUE(link::exists(TEST_VETH_LINK));
+ EXPECT_SOME_TRUE(link::exists(TEST_PEER_LINK));
+
+ // Interface exists but does not have an fq_codel filter.
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_PEER_LINK));
+
+ // Try to create an fq_codel filter on an non-existant interface.
+ EXPECT_ERROR(fq_codel::create("noSuchInterface"));
+
+ // Create an fq_codel filter on an existing interface.
+ EXPECT_SOME_TRUE(fq_codel::create(TEST_VETH_LINK));
+
+ // Interface exists and has an fq_codel filter.
+ EXPECT_SOME_TRUE(fq_codel::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_PEER_LINK));
+
+ // Try to create a second fq_codel filter on an existing interface.
+ EXPECT_SOME_FALSE(fq_codel::create(TEST_VETH_LINK));
EXPECT_SOME_TRUE(fq_codel::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_PEER_LINK));
+
+ // Remove the fq_codel filter.
+ EXPECT_SOME_TRUE(fq_codel::remove(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_PEER_LINK));
+
+ // Try to remove it from the non-existant interface.
+ EXPECT_SOME_FALSE(fq_codel::remove("noSuchInterface"));
+
+ // Remove the fq_codel filter when it does not exist.
+ EXPECT_SOME_FALSE(fq_codel::remove(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_VETH_LINK));
+ EXPECT_SOME_FALSE(fq_codel::exists(TEST_PEER_LINK));
}