summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-08-07 14:21:50 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-08-07 14:21:50 +0000
commitfcb7254bf562d3e17c1e5892db4144f0a60e40ce (patch)
treea82f9bc543411a2063f4f8f504dbda95622ec3f3
parent817aee5dc8766a27e01c6847cdab18d8de94a92b (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--ChangeLog8
-rw-r--r--test/AnnounceListTest.cc43
-rw-r--r--test/DefaultPeerListProcessorTest.cc6
-rw-r--r--test/DefaultPeerStorageTest.cc4
-rw-r--r--test/MetaFileUtilTest.cc6
5 files changed, 45 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index f6204f44..f349178e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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() {