From: JINMEI Tatuya Date: Tue, 22 Jan 2013 23:23:21 +0000 (-0800) Subject: [2309] test refactoring: extract body of doFindTest to a separate function. X-Git-Tag: bind10-1.0.0-rc-release~25^2~10^2~13^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1da05510732e259e76ef280d7b879fd237b746f3;p=thirdparty%2Fkea.git [2309] test refactoring: extract body of doFindTest to a separate function. so that we can share it with test cases for findAtOrigin. no behavior change so far. --- diff --git a/src/lib/datasrc/tests/database_unittest.cc b/src/lib/datasrc/tests/database_unittest.cc index ee07af068f..77a624d31a 100644 --- a/src/lib/datasrc/tests/database_unittest.cc +++ b/src/lib/datasrc/tests/database_unittest.cc @@ -1729,57 +1729,81 @@ TYPED_TEST(DatabaseClientTest, updateAfterDeleteIterator) { } void -doFindTest(ZoneFinder& finder, - const isc::dns::Name& name, - const isc::dns::RRType& type, - const isc::dns::RRType& expected_type, - const isc::dns::RRTTL expected_ttl, - ZoneFinder::Result expected_result, - const std::vector& expected_rdatas, - const std::vector& expected_sig_rdatas, - ZoneFinder::FindResultFlags expected_flags = - ZoneFinder::RESULT_DEFAULT, - const isc::dns::Name& expected_name = isc::dns::Name::ROOT_NAME(), - const ZoneFinder::FindOptions options = ZoneFinder::FIND_DEFAULT) +findTestCommon(ZoneFinder& finder, const isc::dns::Name& name, + const isc::dns::RRType& type, + ConstZoneFinderContextPtr actual_result, + const isc::dns::RRType& expected_type, + const isc::dns::RRTTL expected_ttl, + ZoneFinder::Result expected_result, + const std::vector& expected_rdatas, + const std::vector& expected_sig_rdatas, + ZoneFinder::FindResultFlags expected_flags, + const isc::dns::Name& expected_name, + const ZoneFinder::FindOptions options) { - SCOPED_TRACE("doFindTest " + name.toText() + " " + type.toText()); - ConstZoneFinderContextPtr result = finder.find(name, type, options); - ASSERT_EQ(expected_result, result->code) << name << " " << type; + ASSERT_EQ(expected_result, actual_result->code) << name << " " << type; EXPECT_EQ((expected_flags & ZoneFinder::RESULT_WILDCARD) != 0, - result->isWildcard()); + actual_result->isWildcard()); EXPECT_EQ((expected_flags & ZoneFinder::RESULT_NSEC_SIGNED) != 0, - result->isNSECSigned()); + actual_result->isNSECSigned()); EXPECT_EQ((expected_flags & ZoneFinder::RESULT_NSEC3_SIGNED) != 0, - result->isNSEC3Signed()); - if (!expected_rdatas.empty() && result->rrset) { - checkRRset(result->rrset, expected_name != Name(".") ? expected_name : + actual_result->isNSEC3Signed()); + if (!expected_rdatas.empty() && actual_result->rrset) { + checkRRset(actual_result->rrset, + expected_name != Name::ROOT_NAME() ? expected_name : name, finder.getClass(), expected_type, expected_ttl, expected_rdatas); if ((options & ZoneFinder::FIND_DNSSEC) == ZoneFinder::FIND_DNSSEC) { - if (!expected_sig_rdatas.empty() && result->rrset->getRRsig()) { - checkRRset(result->rrset->getRRsig(), - expected_name != Name(".") ? expected_name : name, + if (!expected_sig_rdatas.empty() && + actual_result->rrset->getRRsig()) { + checkRRset(actual_result->rrset->getRRsig(), + expected_name != Name::ROOT_NAME() ? + expected_name : name, finder.getClass(), isc::dns::RRType::RRSIG(), expected_ttl, expected_sig_rdatas); } else if (expected_sig_rdatas.empty()) { - EXPECT_EQ(isc::dns::RRsetPtr(), result->rrset->getRRsig()) << - "Unexpected RRSIG: " << result->rrset->getRRsig()->toText(); + EXPECT_EQ(isc::dns::RRsetPtr(), + actual_result->rrset->getRRsig()) << + "Unexpected RRSIG: " << + actual_result->rrset->getRRsig()->toText(); } else { ADD_FAILURE() << "Missing RRSIG"; } - } else if (result->rrset->getRRsig()) { - EXPECT_EQ(isc::dns::RRsetPtr(), result->rrset->getRRsig()) << - "Unexpected RRSIG: " << result->rrset->getRRsig()->toText(); + } else if (actual_result->rrset->getRRsig()) { + EXPECT_EQ(isc::dns::RRsetPtr(), actual_result->rrset->getRRsig()) + << "Unexpected RRSIG: " + << actual_result->rrset->getRRsig()->toText(); } } else if (expected_rdatas.empty()) { - EXPECT_EQ(isc::dns::RRsetPtr(), result->rrset) << - "Unexpected RRset: " << result->rrset->toText(); + EXPECT_EQ(isc::dns::RRsetPtr(), actual_result->rrset) << + "Unexpected RRset: " << actual_result->rrset->toText(); } else { ADD_FAILURE() << "Missing result"; } } +void +doFindTest(ZoneFinder& finder, + const isc::dns::Name& name, + const isc::dns::RRType& type, + const isc::dns::RRType& expected_type, + const isc::dns::RRTTL expected_ttl, + ZoneFinder::Result expected_result, + const std::vector& expected_rdatas, + const std::vector& expected_sig_rdatas, + ZoneFinder::FindResultFlags expected_flags = + ZoneFinder::RESULT_DEFAULT, + const isc::dns::Name& expected_name = isc::dns::Name::ROOT_NAME(), + const ZoneFinder::FindOptions options = ZoneFinder::FIND_DEFAULT) +{ + SCOPED_TRACE("doFindTest " + name.toText() + " " + type.toText()); + ConstZoneFinderContextPtr result = finder.find(name, type, options); + findTestCommon(finder, name, type, result, expected_type, expected_ttl, + expected_result, expected_rdatas, expected_sig_rdatas, + expected_flags, expected_name, options); +} + void doFindAllTestResult(ZoneFinder& finder, const isc::dns::Name& name, ZoneFinder::Result expected_result,