BIND 10 trac2150_2, updated. dc8237b41256dcdb50220a9937aa6426f96b981a [2150] Add test to find the same non-absolute label sequence at two different places
BIND 10 source code commits
bind10-changes at lists.isc.org
Sun Sep 16 19:57:28 UTC 2012
The branch, trac2150_2 has been updated
via dc8237b41256dcdb50220a9937aa6426f96b981a (commit)
from 4e25ff76b698c04d2aa9f0e2ed391a3b6922b8f7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit dc8237b41256dcdb50220a9937aa6426f96b981a
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Sep 17 01:26:20 2012 +0530
[2150] Add test to find the same non-absolute label sequence at two different places
-----------------------------------------------------------------------
Summary of changes:
.../datasrc/memory/tests/domaintree_unittest.cc | 50 ++++++++++++++++++++
1 file changed, 50 insertions(+)
-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/tests/domaintree_unittest.cc b/src/lib/datasrc/memory/tests/domaintree_unittest.cc
index 58a3f4d..69ead43 100644
--- a/src/lib/datasrc/memory/tests/domaintree_unittest.cc
+++ b/src/lib/datasrc/memory/tests/domaintree_unittest.cc
@@ -520,6 +520,56 @@ TEST_F(DomainTreeTest, findInSubTree) {
EXPECT_EQ(n4, chain.getAbsoluteName());
}
+TEST_F(DomainTreeTest, findInSubTreeSameLabelSequence) {
+ // For the version that takes a node chain, the chain must be empty.
+ DomainTreeNodeChain<int> chain;
+ bool flag;
+
+ const Name n1("c.g.h");
+
+ // First insert a "c.g.h." node.
+ dtree_expose_empty_node.insert(mem_sgmt_, n1, &dtnode);
+
+ // Make a non-absolute label sequence. We will search for this same
+ // sequence in two places in the tree.
+ LabelSequence ls1(n1);
+ ls1.stripRight(3);
+ EXPECT_EQ("c", ls1.toText());
+
+ // First, find "g.h."
+ const Name n2("g.h");
+ const LabelSequence ls2(n2);
+ DomainTree<int>::Result result =
+ dtree_expose_empty_node.find(ls2, &cdtnode, chain,
+ testCallback, &flag);
+ EXPECT_EQ(DomainTree<int>::EXACTMATCH, result);
+ EXPECT_EQ(n2, chain.getAbsoluteName());
+
+ // Now, find "c.g.h." by searching just the non-absolute ls1 label
+ // sequence.
+ result = dtree_expose_empty_node.find(ls1, &cdtnode, chain,
+ testCallback, &flag);
+ EXPECT_EQ(DomainTree<int>::EXACTMATCH, result);
+ EXPECT_EQ(n1, chain.getAbsoluteName());
+
+ // Now, find "." (the root node)
+ chain.clear();
+ const Name n3(".");
+ const LabelSequence ls3(n3);
+ result =
+ dtree_expose_empty_node.find(ls3, &cdtnode, chain,
+ testCallback, &flag);
+ EXPECT_EQ(DomainTree<int>::EXACTMATCH, result);
+ EXPECT_EQ(n3, chain.getAbsoluteName());
+
+ // Now, find "c." by searching just the non-absolute ls1 label
+ // sequence.
+ result = dtree_expose_empty_node.find(ls1, &cdtnode, chain,
+ testCallback, &flag);
+ EXPECT_EQ(DomainTree<int>::EXACTMATCH, result);
+ EXPECT_EQ(Name("c."), chain.getAbsoluteName());
+}
+
TEST_F(DomainTreeTest, chainLevel) {
TestDomainTreeNodeChain chain;
More information about the bind10-changes
mailing list