[svn] commit: r363 - in /branches/jinmei-dnsmessageapi/src/lib/dns/cpp: name.cc name_unittest.cc testdata/name_fromWire10 testdata/name_fromWire11 testdata/name_fromWire12 testdata/name_fromWire9
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Dec 14 20:04:54 UTC 2009
Author: jinmei
Date: Mon Dec 14 20:04:54 2009
New Revision: 363
Log:
more test cases
Added:
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/testdata/name_fromWire10
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/testdata/name_fromWire11
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/testdata/name_fromWire12
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/testdata/name_fromWire9
Modified:
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name.cc
branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name_unittest.cc
Modified: branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name.cc
==============================================================================
--- branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name.cc (original)
+++ branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name.cc Mon Dec 14 20:04:54 2009
@@ -241,7 +241,7 @@
{
unsigned int new_current;
std::vector<unsigned char> offsets;
- offsets.reserve(Name::MAX_WIRE / 2);
+ offsets.reserve(Name::MAX_LABELS);
/*
* Initialize things to make the compiler happy; they're not required.
@@ -562,7 +562,6 @@
transform(suffix.offsets_.begin(), suffix.offsets_.end(),
back_inserter(retname.offsets_),
bind2nd(OffsetAdjuster(), this->length_ - 1));
- assert(retname.offsets_.back() == retname.length_ - 1);
assert(retname.offsets_.size() == labels);
retname.labels_ = labels;
Modified: branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name_unittest.cc
==============================================================================
--- branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name_unittest.cc (original)
+++ branches/jinmei-dnsmessageapi/src/lib/dns/cpp/name_unittest.cc Mon Dec 14 20:04:54 2009
@@ -38,6 +38,7 @@
NameTest() : example_name("www.example.com") {}
Name example_name;
+ static const size_t MAX_WIRE = Name::MAX_WIRE;
static const size_t MAX_LABELS = Name::MAX_LABELS;
//
// helper methods
@@ -176,6 +177,24 @@
EXPECT_EQ(true, nameFactoryFromWire("testdata/name_fromWire8", 383) ==
Name("vix.com"));
+ //
+ // Additional test cases
+ //
+
+ // large names, a long but valid one, and invalid (too long) one.
+ EXPECT_EQ(MAX_WIRE,
+ nameFactoryFromWire("testdata/name_fromWire9", 0).getLength());
+ EXPECT_THROW(nameFactoryFromWire("testdata/name_fromWire10", 0).getLength(),
+ isc::dns::TooLongName);
+
+ // A name with possible maximum number of labels; awkward but valid
+ EXPECT_EQ(nameFactoryFromWire("testdata/name_fromWire11", 0).getLabels(),
+ MAX_LABELS);
+
+ // Wire format including an invalid label length
+ EXPECT_THROW(nameFactoryFromWire("testdata/name_fromWire12", 0),
+ isc::dns::BadLabelType);
+
// converting upper-case letters to down-case
EXPECT_EQ("vix.com.", nameFactoryFromWire("testdata/name_fromWire1",
25, true).toText());
More information about the bind10-changes
mailing list