From: Michal 'vorner' Vaner Date: Tue, 12 Jun 2012 12:28:55 +0000 (+0200) Subject: [1975] Make sure we handle set::iterator correctly X-Git-Tag: trac2351_base~97^2~9^2~4^2~5^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3800f59cbac8ac2c3adff1387485d2bf4de0f369;p=thirdparty%2Fkea.git [1975] Make sure we handle set::iterator correctly There was a possible problem in mock data source with decreasing a begin() iterator. --- diff --git a/src/lib/datasrc/tests/container_unittest.cc b/src/lib/datasrc/tests/container_unittest.cc index 83c0c8855d..533878d3dc 100644 --- a/src/lib/datasrc/tests/container_unittest.cc +++ b/src/lib/datasrc/tests/container_unittest.cc @@ -81,6 +81,9 @@ public: return (FindResult(result::NOTFOUND, ZoneFinderPtr())); } set::const_iterator it(zones.upper_bound(name)); + if (it == zones.begin()) { + return (FindResult(result::NOTFOUND, ZoneFinderPtr())); + } -- it; NameComparisonResult compar(it->compare(name)); const ZoneFinderPtr finder(new Finder(*it)); @@ -242,6 +245,8 @@ TEST_F(ContainerTest, selfTest) { ds_[0]->findZone(Name("sub.example.org")).code); EXPECT_EQ(result::NOTFOUND, ds_[0]->findZone(Name("org")).code); EXPECT_EQ(result::NOTFOUND, ds_[1]->findZone(Name("example.org")).code); + EXPECT_EQ(result::NOTFOUND, ds_[0]->findZone(Name("aaa")).code); + EXPECT_EQ(result::NOTFOUND, ds_[0]->findZone(Name("zzz")).code); } // Test the container we create with empty configuration is, in fact, empty