diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-08-07 14:21:50 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-08-07 14:21:50 +0000 |
| commit | fcb7254bf562d3e17c1e5892db4144f0a60e40ce (patch) | |
| tree | a82f9bc543411a2063f4f8f504dbda95622ec3f3 | |
| parent | 817aee5dc8766a27e01c6847cdab18d8de94a92b (diff) | |
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed memory leak in test code
* test/AnnounceListTest.cc
* test/DefaultPeerListProcessorTest.cc
* test/DefaultPeerStorageTest.cc
* test/MetaFileUtilTest.cc
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | test/AnnounceListTest.cc | 43 | ||||
| -rw-r--r-- | test/DefaultPeerListProcessorTest.cc | 6 | ||||
| -rw-r--r-- | test/DefaultPeerStorageTest.cc | 4 | ||||
| -rw-r--r-- | test/MetaFileUtilTest.cc | 6 |
5 files changed, 45 insertions, 22 deletions
@@ -1,5 +1,13 @@ 2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> + Fixed memory leak in test code + * test/AnnounceListTest.cc + * test/DefaultPeerListProcessorTest.cc + * test/DefaultPeerStorageTest.cc + * test/MetaFileUtilTest.cc + +2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> + Fixed wrong argument passing to BitfieldMan::isBitSet() * src/DefaultPieceStorage.cc diff --git a/test/AnnounceListTest.cc b/test/AnnounceListTest.cc index 4c9fec81..56d0e789 100644 --- a/test/AnnounceListTest.cc +++ b/test/AnnounceListTest.cc @@ -1,7 +1,7 @@ #include "AnnounceList.h" #include "MetaFileUtil.h" #include "Exception.h" -#include "Dictionary.h" +#include "List.h" #include <cppunit/extensions/HelperMacros.h> namespace aria2 { @@ -43,11 +43,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION( AnnounceListTest ); void AnnounceListTest::testSingleElementList() { std::string peersString = "ll8:tracker1el8:tracker2el8:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1 ], [ tracker2 ], [ tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); CPPUNIT_ASSERT(!announceList.allTiersFailed()); std::string url = announceList.getAnnounce(); @@ -89,10 +90,12 @@ void AnnounceListTest::testSingleElementList() { void AnnounceListTest::testMultiElementList() { std::string peersString = "ll8:tracker18:tracker28:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); + // ANNOUNCE_LIST // [ [ tracker1, tracker2, tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); CPPUNIT_ASSERT(!announceList.allTiersFailed()); std::string url = announceList.getAnnounce(); @@ -121,11 +124,12 @@ void AnnounceListTest::testMultiElementList() { void AnnounceListTest::testSingleAndMulti() { std::string peersString = "ll8:tracker18:tracker2el8:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1, tracker2 ], [ tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); std::string url = announceList.getAnnounce(); CPPUNIT_ASSERT_EQUAL(std::string("tracker1"), url); @@ -147,20 +151,22 @@ void AnnounceListTest::testSingleAndMulti() { void AnnounceListTest::testNoGroup() { std::string peersString = "llee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); CPPUNIT_ASSERT(announceList.countTier() == 0); } void AnnounceListTest::testNextEventIfAfterStarted() { std::string peersString = "ll8:tracker1ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); announceList.setEvent(AnnounceTier::STOPPED); announceList.announceFailure(); announceList.resetTier(); @@ -176,11 +182,12 @@ void AnnounceListTest::testNextEventIfAfterStarted() { void AnnounceListTest::testEvent() { std::string peersString = "ll8:tracker1el8:tracker2el8:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1 ], [ tracker2 ], [ tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); announceList.setEvent(AnnounceTier::STOPPED); announceList.announceSuccess(); @@ -200,11 +207,12 @@ void AnnounceListTest::testEvent() { void AnnounceListTest::testCountStoppedAllowedTier() { std::string peersString = "ll8:tracker1el8:tracker2el8:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1 ], [ tracker2 ], [ tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); CPPUNIT_ASSERT_EQUAL((size_t)0, announceList.countStoppedAllowedTier()); announceList.setEvent(AnnounceTier::STARTED); @@ -227,11 +235,12 @@ void AnnounceListTest::testCountStoppedAllowedTier() { void AnnounceListTest::testCountCompletedAllowedTier() { std::string peersString = "ll8:tracker1el8:tracker2el8:tracker3ee"; - Dictionary* announces = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<List> announces + (dynamic_cast<List*>(MetaFileUtil::bdecoding(peersString))); // ANNOUNCE_LIST // [ [ tracker1 ], [ tracker2 ], [ tracker3 ] ] - AnnounceList announceList(announces); + AnnounceList announceList(announces.get()); CPPUNIT_ASSERT_EQUAL((size_t)0, announceList.countCompletedAllowedTier()); announceList.setEvent(AnnounceTier::STARTED); diff --git a/test/DefaultPeerListProcessorTest.cc b/test/DefaultPeerListProcessorTest.cc index 10774989..4dc00e9e 100644 --- a/test/DefaultPeerListProcessorTest.cc +++ b/test/DefaultPeerListProcessorTest.cc @@ -30,7 +30,8 @@ void DefaultPeerListProcessorTest::testExtractPeer() { DefaultPeerListProcessor proc; std::string peersString = "d5:peersld2:ip11:192.168.0.17:peer id20:aria2-000000000000004:porti2006eeee"; - Dictionary* dic = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<Dictionary> dic + (dynamic_cast<Dictionary*>(MetaFileUtil::bdecoding(peersString))); CPPUNIT_ASSERT(proc.canHandle(dic->get("peers"))); @@ -46,7 +47,8 @@ void DefaultPeerListProcessorTest::testExtract2Peers() { DefaultPeerListProcessor proc; std::string peersString = "d5:peersld2:ip11:192.168.0.17:peer id20:aria2-000000000000004:porti2006eed2:ip11:192.168.0.27:peer id20:aria2-000000000000004:porti2007eeee"; - Dictionary* dic = (Dictionary*)MetaFileUtil::bdecoding(peersString); + SharedHandle<Dictionary> dic + (dynamic_cast<Dictionary*>(MetaFileUtil::bdecoding(peersString))); std::deque<SharedHandle<Peer> > peers; proc.extractPeer(peers, dic->get("peers")); diff --git a/test/DefaultPeerStorageTest.cc b/test/DefaultPeerStorageTest.cc index bbed380b..1c09799a 100644 --- a/test/DefaultPeerStorageTest.cc +++ b/test/DefaultPeerStorageTest.cc @@ -35,6 +35,10 @@ public: btRuntime.reset(new BtRuntime()); } + void tearDown() { + delete option; + } + void testCountPeer(); void testDeleteUnusedPeer(); void testAddPeer(); diff --git a/test/MetaFileUtilTest.cc b/test/MetaFileUtilTest.cc index 4ff2a410..32fab3fb 100644 --- a/test/MetaFileUtilTest.cc +++ b/test/MetaFileUtilTest.cc @@ -28,9 +28,9 @@ public: CPPUNIT_TEST_SUITE_REGISTRATION( MetaFileUtilTest ); void MetaFileUtilTest::testParseMetaFile() { - MetaEntry* entry = MetaFileUtil::parseMetaFile("test.torrent"); - Dictionary* d = dynamic_cast<Dictionary*>(entry); - CPPUNIT_ASSERT(d != NULL); + SharedHandle<MetaEntry> entry(MetaFileUtil::parseMetaFile("test.torrent")); + SharedHandle<Dictionary> d = dynamic_pointer_cast<Dictionary>(entry); + CPPUNIT_ASSERT(!d.isNull()); } void MetaFileUtilTest::testBdecoding() { |
