summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-20 00:50:22 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-20 00:50:22 +0000
commit3505201f3333c937b5b870d70019d400c722a69f (patch)
treedef64ac6be50375e43da5e3e91eb443dd4c171fc /test
parent99733a84e2102739ee7c9de08ffae9e9216b6003 (diff)
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten SharedHandle. Now copy constructor taking raw pointer has keyword explicit and SharedHandle's default constructor initializes its internal obj to null, old implementation initializes it using obj's default constructor. To assign null, write SharedHandle<T> x(...); x.reset(); TODO: test/SharedHandleTest.cc needs more tests. * src/SharedHandle.h
Diffstat (limited to 'test')
-rw-r--r--test/AllTest.cc3
-rw-r--r--test/AuthConfigFactoryTest.cc21
-rw-r--r--test/BNodeTest.cc28
-rw-r--r--test/BencodeVisitorTest.cc4
-rw-r--r--test/BitfieldManTest.cc4
-rw-r--r--test/BtAllowedFastMessageTest.cc4
-rw-r--r--test/BtBitfieldMessageTest.cc2
-rw-r--r--test/BtCancelMessageTest.cc22
-rw-r--r--test/BtChokeMessageTest.cc16
-rw-r--r--test/BtDependencyTest.cc24
-rw-r--r--test/BtExtendedMessageTest.cc25
-rw-r--r--test/BtHandshakeMessageTest.cc2
-rw-r--r--test/BtHaveAllMessageTest.cc2
-rw-r--r--test/BtHaveMessageTest.cc2
-rw-r--r--test/BtHaveNoneMessageTest.cc2
-rw-r--r--test/BtInterestedMessageTest.cc4
-rw-r--r--test/BtNotInterestedMessageTest.cc4
-rw-r--r--test/BtPieceMessageTest.cc58
-rw-r--r--test/BtPortMessageTest.cc40
-rw-r--r--test/BtPostDownloadHandlerTest.cc12
-rw-r--r--test/BtRegistryTest.cc5
-rw-r--r--test/BtRejectMessageTest.cc19
-rw-r--r--test/BtRequestMessageTest.cc49
-rw-r--r--test/BtUnchokeMessageTest.cc4
-rw-r--r--test/DHTAnnouncePeerMessageTest.cc22
-rw-r--r--test/DHTAnnouncePeerReplyMessageTest.cc6
-rw-r--r--test/DHTBucketTest.cc70
-rw-r--r--test/DHTFindNodeMessageTest.cc27
-rw-r--r--test/DHTFindNodeReplyMessageTest.cc10
-rw-r--r--test/DHTGetPeersMessageTest.cc44
-rw-r--r--test/DHTGetPeersReplyMessageTest.cc12
-rw-r--r--test/DHTIDCloserTest.cc15
-rw-r--r--test/DHTMessageFactoryImplTest.cc92
-rw-r--r--test/DHTMessageTrackerEntryTest.cc8
-rw-r--r--test/DHTMessageTrackerTest.cc23
-rw-r--r--test/DHTPeerAnnounceEntryTest.cc12
-rw-r--r--test/DHTPeerAnnounceStorageTest.cc4
-rw-r--r--test/DHTPingMessageTest.cc22
-rw-r--r--test/DHTPingReplyMessageTest.cc6
-rw-r--r--test/DHTRoutingTableDeserializerTest.cc6
-rw-r--r--test/DHTRoutingTableSerializerTest.cc6
-rw-r--r--test/DHTRoutingTableTest.cc26
-rw-r--r--test/DHTUnknownMessageTest.cc2
-rw-r--r--test/DefaultAuthResolverTest.cc8
-rw-r--r--test/DefaultBtAnnounceTest.cc46
-rw-r--r--test/DefaultBtContextTest.cc2
-rw-r--r--test/DefaultBtMessageDispatcherTest.cc68
-rw-r--r--test/DefaultBtMessageFactoryTest.cc27
-rw-r--r--test/DefaultBtProgressInfoFileTest.cc36
-rw-r--r--test/DefaultBtRequestFactoryTest.cc70
-rw-r--r--test/DefaultExtensionMessageFactoryTest.cc22
-rw-r--r--test/DefaultPeerStorageTest.cc6
-rw-r--r--test/DefaultPieceStorageTest.cc17
-rw-r--r--test/DownloadHandlerFactoryTest.cc12
-rw-r--r--test/GrowSegmentTest.cc4
-rw-r--r--test/HandshakeExtensionMessageTest.cc4
-rw-r--r--test/HelpItemTest.cc8
-rw-r--r--test/HttpRequestTest.cc75
-rw-r--r--test/HttpResponseTest.cc65
-rw-r--r--test/IteratableChecksumValidatorTest.cc12
-rw-r--r--test/IteratableChunkChecksumValidatorTest.cc7
-rw-r--r--test/MSEHandshakeTest.cc24
-rw-r--r--test/MessageDigestHelperTest.cc2
-rw-r--r--test/Metalink2RequestGroupTest.cc14
-rw-r--r--test/MetalinkEntryTest.cc29
-rw-r--r--test/MetalinkPostDownloadHandlerTest.cc9
-rw-r--r--test/MetalinkProcessorTest.cc30
-rw-r--r--test/MockBtMessageFactory.h42
-rw-r--r--test/MockDHTMessageDispatcher.h6
-rw-r--r--test/MockDHTMessageFactory.h28
-rw-r--r--test/MockDHTTaskFactory.h14
-rw-r--r--test/MockExtensionMessageFactory.h4
-rw-r--r--test/MockPeerStorage.h5
-rw-r--r--test/MockPieceStorage.h11
-rw-r--r--test/MultiDiskAdaptorTest.cc4
-rw-r--r--test/MultiFileAllocationIteratorTest.cc66
-rw-r--r--test/NetrcAuthResolverTest.cc20
-rw-r--r--test/NetrcTest.cc9
-rw-r--r--test/PStringBuildVisitorTest.cc24
-rw-r--r--test/ParameterizedStringParserTest.cc25
-rw-r--r--test/PeerTest.cc4
-rw-r--r--test/RequestGroupManTest.cc14
-rw-r--r--test/RequestGroupTest.cc6
-rw-r--r--test/SegmentManTest.cc10
-rw-r--r--test/SegmentTest.cc10
-rw-r--r--test/SharedHandleTest.cc55
-rw-r--r--test/SingletonHolderTest.cc4
-rw-r--r--test/TagContainerTest.cc14
-rw-r--r--test/UTPexExtensionMessageTest.cc30
-rw-r--r--test/UtilTest.cc9
-rw-r--r--test/a2functionalTest.cc4
91 files changed, 968 insertions, 816 deletions
diff --git a/test/AllTest.cc b/test/AllTest.cc
index 416ea574..41e44e95 100644
--- a/test/AllTest.cc
+++ b/test/AllTest.cc
@@ -32,7 +32,8 @@ int main(int argc, char* argv[]) {
gnutls_global_init();
#endif // HAVE_LIBGNUTLS
- SharedHandle<aria2::CookieBoxFactory> cookieBoxFactory = new aria2::CookieBoxFactory();
+ SharedHandle<aria2::CookieBoxFactory> cookieBoxFactory
+ (new aria2::CookieBoxFactory());
SingletonHolder<SharedHandle<aria2::CookieBoxFactory> >::instance(cookieBoxFactory);
// Run the tests.
diff --git a/test/AuthConfigFactoryTest.cc b/test/AuthConfigFactoryTest.cc
index 1b8357e4..8a9fcd44 100644
--- a/test/AuthConfigFactoryTest.cc
+++ b/test/AuthConfigFactoryTest.cc
@@ -27,7 +27,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( AuthConfigFactoryTest );
void AuthConfigFactoryTest::testCreateAuthConfig_http()
{
- SharedHandle<Request> req = new Request();
+ SharedHandle<Request> req(new Request());
req->setUrl("http://localhost/download/aria2-1.0.0.tar.bz2");
Option option;
@@ -40,8 +40,9 @@ void AuthConfigFactoryTest::testCreateAuthConfig_http()
factory.createAuthConfig(req)->getAuthText());
// with Netrc: disabled by default
- SharedHandle<Netrc> netrc = new Netrc();
- netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount"));
+ SharedHandle<Netrc> netrc(new Netrc());
+ netrc->addAuthenticator
+ (SharedHandle<Authenticator>(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")));
factory.setNetrc(netrc);
CPPUNIT_ASSERT_EQUAL(std::string(":"),
factory.createAuthConfig(req)->getAuthText());
@@ -63,11 +64,12 @@ void AuthConfigFactoryTest::testCreateAuthConfig_http()
void AuthConfigFactoryTest::testCreateAuthConfigForHttpProxy()
{
- SharedHandle<Request> req = new Request();
+ SharedHandle<Request> req(new Request());
req->setUrl("http://localhost/download/aria2-1.0.0.tar.bz2");
// with Netrc
- SharedHandle<Netrc> netrc = new Netrc();
- netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount"));
+ SharedHandle<Netrc> netrc(new Netrc());
+ netrc->addAuthenticator
+ (SharedHandle<Authenticator>(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")));
Option option;
option.put(PREF_NO_NETRC, V_FALSE);
@@ -88,7 +90,7 @@ void AuthConfigFactoryTest::testCreateAuthConfigForHttpProxy()
void AuthConfigFactoryTest::testCreateAuthConfig_ftp()
{
- SharedHandle<Request> req = new Request();
+ SharedHandle<Request> req(new Request());
req->setUrl("ftp://localhost/download/aria2-1.0.0.tar.bz2");
Option option;
@@ -101,8 +103,9 @@ void AuthConfigFactoryTest::testCreateAuthConfig_ftp()
factory.createAuthConfig(req)->getAuthText());
// with Netrc
- SharedHandle<Netrc> netrc = new Netrc();
- netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount"));
+ SharedHandle<Netrc> netrc(new Netrc());
+ netrc->addAuthenticator
+ (SharedHandle<Authenticator>(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")));
factory.setNetrc(netrc);
CPPUNIT_ASSERT_EQUAL(std::string("default:defaultpassword"),
factory.createAuthConfig(req)->getAuthText());
diff --git a/test/BNodeTest.cc b/test/BNodeTest.cc
index 8aafa639..9b353517 100644
--- a/test/BNodeTest.cc
+++ b/test/BNodeTest.cc
@@ -36,9 +36,9 @@ void BNodeTest::testIsInRange()
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0xff, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
- SharedHandle<DHTBucket> bucket1 = new DHTBucket(localNode);
+ SharedHandle<DHTBucket> bucket1(new DHTBucket(localNode));
SharedHandle<DHTBucket> bucket2 = bucket1->split();
SharedHandle<DHTBucket> bucket3 = bucket1->split();
@@ -57,9 +57,9 @@ void BNodeTest::testFindBucketFor()
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0xaa, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
- SharedHandle<DHTBucket> bucket1 = new DHTBucket(localNode);
+ SharedHandle<DHTBucket> bucket1(new DHTBucket(localNode));
SharedHandle<DHTBucket> bucket2 = bucket1->split();
SharedHandle<DHTBucket> bucket3 = bucket1->split();
SharedHandle<DHTBucket> bucket4 = bucket3->split();
@@ -107,9 +107,9 @@ void BNodeTest::testFindClosestKNodes()
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0xaa, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
- SharedHandle<DHTBucket> bucket1 = new DHTBucket(localNode);
+ SharedHandle<DHTBucket> bucket1(new DHTBucket(localNode));
SharedHandle<DHTBucket> bucket2 = bucket1->split();
SharedHandle<DHTBucket> bucket3 = bucket1->split();
SharedHandle<DHTBucket> bucket4 = bucket3->split();
@@ -142,15 +142,15 @@ void BNodeTest::testFindClosestKNodes()
for(size_t i = 0; i < 2; ++i) {
bucket1->getRandomNodeID(id);
- bucket1->addNode(new DHTNode(id));
+ bucket1->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
bucket2->getRandomNodeID(id);
- bucket2->addNode(new DHTNode(id));
+ bucket2->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
bucket3->getRandomNodeID(id);
- bucket3->addNode(new DHTNode(id));
+ bucket3->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
bucket4->getRandomNodeID(id);
- bucket4->addNode(new DHTNode(id));
+ bucket4->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
bucket5->getRandomNodeID(id);
- bucket5->addNode(new DHTNode(id));
+ bucket5->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
}
{
unsigned char targetID[DHT_ID_LENGTH];
@@ -183,7 +183,7 @@ void BNodeTest::testFindClosestKNodes()
{
for(size_t i = 0; i < 6; ++i) {
bucket4->getRandomNodeID(id);
- bucket4->addNode(new DHTNode(id));
+ bucket4->addNode(SharedHandle<DHTNode>(new DHTNode(id)));
}
unsigned char targetID[DHT_ID_LENGTH];
memset(targetID, 0x80, DHT_ID_LENGTH);
@@ -203,9 +203,9 @@ void BNodeTest::testEnumerateBucket()
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0xaa, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
- SharedHandle<DHTBucket> bucket1 = new DHTBucket(localNode);
+ SharedHandle<DHTBucket> bucket1(new DHTBucket(localNode));
SharedHandle<DHTBucket> bucket2 = bucket1->split();
SharedHandle<DHTBucket> bucket3 = bucket1->split();
SharedHandle<DHTBucket> bucket4 = bucket3->split();
diff --git a/test/BencodeVisitorTest.cc b/test/BencodeVisitorTest.cc
index 0e780378..7b6af005 100644
--- a/test/BencodeVisitorTest.cc
+++ b/test/BencodeVisitorTest.cc
@@ -32,14 +32,14 @@ void BencodeVisitorTest::testVisit_data()
{
BencodeVisitor v;
std::string str = "apple";
- MetaEntryHandle m = new Data(str.c_str(), str.size());
+ MetaEntryHandle m(new Data(str.c_str(), str.size()));
m->accept(&v);
CPPUNIT_ASSERT_EQUAL(std::string("5:apple"), v.getBencodedData());
}
{
BencodeVisitor v;
std::string str = "123";
- MetaEntryHandle m = new Data(str.c_str(), str.size(), true);
+ MetaEntryHandle m(new Data(str.c_str(), str.size(), true));
m->accept(&v);
CPPUNIT_ASSERT_EQUAL(std::string("i123e"), v.getBencodedData());
}
diff --git a/test/BitfieldManTest.cc b/test/BitfieldManTest.cc
index cc46f7c6..00451fbc 100644
--- a/test/BitfieldManTest.cc
+++ b/test/BitfieldManTest.cc
@@ -30,10 +30,10 @@ private:
SharedHandle<Randomizer> fixedNumberRandomizer;
public:
- BitfieldManTest():fixedNumberRandomizer(0) {
+ BitfieldManTest() {
FixedNumberRandomizer* randomizer = new FixedNumberRandomizer();
randomizer->setFixedNumber(0);
- this->fixedNumberRandomizer = randomizer;
+ this->fixedNumberRandomizer.reset(randomizer);
}
void setUp() {
diff --git a/test/BtAllowedFastMessageTest.cc b/test/BtAllowedFastMessageTest.cc
index 57d573f2..69a2639d 100644
--- a/test/BtAllowedFastMessageTest.cc
+++ b/test/BtAllowedFastMessageTest.cc
@@ -70,7 +70,7 @@ void BtAllowedFastMessageTest::testGetMessage() {
void BtAllowedFastMessageTest::testDoReceivedAction() {
BtAllowedFastMessage msg;
msg.setIndex(1);
- SharedHandle<Peer> peer = new Peer("localhost", 6969);
+ SharedHandle<Peer> peer(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->setFastExtensionEnabled(true);
msg.setPeer(peer);
@@ -88,7 +88,7 @@ void BtAllowedFastMessageTest::testDoReceivedAction() {
void BtAllowedFastMessageTest::testOnSendComplete() {
BtAllowedFastMessage msg;
msg.setIndex(1);
- SharedHandle<Peer> peer = new Peer("localhost", 6969);
+ SharedHandle<Peer> peer(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->setFastExtensionEnabled(true);
msg.setPeer(peer);
diff --git a/test/BtBitfieldMessageTest.cc b/test/BtBitfieldMessageTest.cc
index 6f765674..51e4cca7 100644
--- a/test/BtBitfieldMessageTest.cc
+++ b/test/BtBitfieldMessageTest.cc
@@ -70,7 +70,7 @@ void BtBitfieldMessageTest::testGetMessage() {
}
void BtBitfieldMessageTest::testDoReceivedAction() {
- SharedHandle<Peer> peer = new Peer("host1", 6969);
+ SharedHandle<Peer> peer(new Peer("host1", 6969));
peer->allocateSessionResource(16*1024, 16*16*1024);
BtBitfieldMessage msg;
msg.setPeer(peer);
diff --git a/test/BtCancelMessageTest.cc b/test/BtCancelMessageTest.cc
index 4554d775..a09bc76c 100644
--- a/test/BtCancelMessageTest.cc
+++ b/test/BtCancelMessageTest.cc
@@ -25,21 +25,23 @@ class BtCancelMessageTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testDoReceivedAction);
CPPUNIT_TEST_SUITE_END();
private:
-
-public:
- BtCancelMessageTest():peer(0), btContext(0) {}
-
SharedHandle<Peer> peer;
SharedHandle<MockBtContext> btContext;
-
+public:
void setUp() {
BtRegistry::unregisterAll();
- peer = new Peer("host", 6969);
- btContext = new MockBtContext();
+ peer.reset(new Peer("host", 6969));
+ btContext.reset(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject());
+ cluster);
+ SharedHandle<PeerObject> po(new PeerObject());
+ PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), po);
+ }
+
+ void tearDown() {
+ BtRegistry::unregisterAll();
}
void testCreate();
@@ -117,7 +119,7 @@ void BtCancelMessageTest::testDoReceivedAction() {
msg.setLength(16*1024);
msg.setBtContext(btContext);
msg.setPeer(peer);
- SharedHandle<MockBtMessageDispatcher2> dispatcher = new MockBtMessageDispatcher2();
+ SharedHandle<MockBtMessageDispatcher2> dispatcher(new MockBtMessageDispatcher2());
msg.setBtMessageDispatcher(dispatcher);
msg.doReceivedAction();
diff --git a/test/BtChokeMessageTest.cc b/test/BtChokeMessageTest.cc
index cf56119d..758ed5df 100644
--- a/test/BtChokeMessageTest.cc
+++ b/test/BtChokeMessageTest.cc
@@ -35,13 +35,15 @@ public:
void setUp() {
BtRegistry::unregisterAll();
- peer = new Peer("host", 6969);
+ peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
- btContext = new MockBtContext();
+ btContext.reset(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject());
+ cluster);
+ SharedHandle<PeerObject> po(new PeerObject());
+ PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), po);
}
void testCreate();
@@ -117,9 +119,9 @@ void BtChokeMessageTest::testDoReceivedAction() {
msg.setPeer(peer);
msg.setBtContext(btContext);
- SharedHandle<MockBtMessageDispatcher2> dispatcher = new MockBtMessageDispatcher2();
+ SharedHandle<MockBtMessageDispatcher2> dispatcher(new MockBtMessageDispatcher2());
msg.setBtMessageDispatcher(dispatcher);
- SharedHandle<MockBtRequestFactory2> requestFactory = new MockBtRequestFactory2();
+ SharedHandle<MockBtRequestFactory2> requestFactory(new MockBtRequestFactory2());
msg.setBtRequestFactory(requestFactory);
msg.doReceivedAction();
@@ -133,7 +135,7 @@ void BtChokeMessageTest::testOnSendComplete() {
msg.setPeer(peer);
msg.setBtContext(btContext);
- SharedHandle<MockBtMessageDispatcher2> dispatcher = new MockBtMessageDispatcher2();
+ SharedHandle<MockBtMessageDispatcher2> dispatcher(new MockBtMessageDispatcher2());
msg.setBtMessageDispatcher(dispatcher);
msg.onSendComplete();
diff --git a/test/BtDependencyTest.cc b/test/BtDependencyTest.cc
index dd576079..6aa4d968 100644
--- a/test/BtDependencyTest.cc
+++ b/test/BtDependencyTest.cc
@@ -23,9 +23,9 @@ class BtDependencyTest:public CppUnit::TestFixture {
SharedHandle<RequestGroup> createDependant(const Option* option)
{
- SharedHandle<RequestGroup> dependant = new RequestGroup(option, std::deque<std::string>());
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(0, 0, "");
+ SharedHandle<RequestGroup> dependant(new RequestGroup(option, std::deque<std::string>()));
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, ""));
dctx->setDir("/tmp");
dependant->setDownloadContext(dctx);
return dependant;
@@ -34,12 +34,13 @@ class BtDependencyTest:public CppUnit::TestFixture {
SharedHandle<RequestGroup>
createDependee(const Option* option, const std::string& torrentFile, int64_t length)
{
- SharedHandle<RequestGroup> dependee = new RequestGroup(option, std::deque<std::string>());
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(1024*1024, length, torrentFile);
+ SharedHandle<RequestGroup> dependee
+ (new RequestGroup(option, std::deque<std::string>()));
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(1024*1024, length, torrentFile));
dctx->setDir(".");
dependee->setDownloadContext(dctx);
- DefaultPieceStorageHandle ps = new DefaultPieceStorage(dctx, option);
+ DefaultPieceStorageHandle ps(new DefaultPieceStorage(dctx, option));
dependee->setPieceStorage(ps);
ps->initStorage();
dependee->initSegmentMan();
@@ -69,7 +70,8 @@ void BtDependencyTest::testResolve()
BtDependency dep(dependant, dependee, &option);
CPPUNIT_ASSERT(dep.resolve());
- SharedHandle<BtContext> btContext = dependant->getDownloadContext();
+ SharedHandle<BtContext> btContext
+ (dynamic_pointer_cast<BtContext>(dependant->getDownloadContext()));
CPPUNIT_ASSERT(!btContext.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/aria2-test"), btContext->getActualBasePath());
}
@@ -85,7 +87,8 @@ void BtDependencyTest::testResolve_loadError()
BtDependency dep(dependant, dependee, &option);
CPPUNIT_ASSERT(dep.resolve());
- SharedHandle<SingleFileDownloadContext> dctx = dependant->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(dependant->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/index.html"), dctx->getActualBasePath());
} catch(Exception* e) {
@@ -104,7 +107,8 @@ void BtDependencyTest::testResolve_dependeeFailure()
BtDependency dep(dependant, dependee, &option);
CPPUNIT_ASSERT(dep.resolve());
- SharedHandle<SingleFileDownloadContext> dctx = dependant->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(dependant->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/index.html"), dctx->getActualBasePath());
}
diff --git a/test/BtExtendedMessageTest.cc b/test/BtExtendedMessageTest.cc
index ba8d42a8..fc4b547b 100644
--- a/test/BtExtendedMessageTest.cc
+++ b/test/BtExtendedMessageTest.cc
@@ -49,17 +49,18 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION(BtExtendedMessageTest);
void BtExtendedMessageTest::testCreate() {
- SharedHandle<Peer> peer = new Peer("192.168.0.1", 6969);
+ SharedHandle<Peer> peer(new Peer("192.168.0.1", 6969));
peer->allocateSessionResource(1024, 1024*1024);
- SharedHandle<MockBtContext> ctx = new MockBtContext();
+ SharedHandle<MockBtContext> ctx(new MockBtContext());
unsigned char infohash[20];
memset(infohash, 0, sizeof(infohash));
ctx->setInfoHash(infohash);
- SharedHandle<MockExtensionMessageFactory> exmsgFactory = new MockExtensionMessageFactory();
-
+ SharedHandle<MockExtensionMessageFactory> exmsgFactory
+ (new MockExtensionMessageFactory());
- BtRegistry::registerPeerObjectCluster(ctx->getInfoHashAsString(), new PeerObjectCluster());
- SharedHandle<PeerObject> peerObject = new PeerObject();
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
+ BtRegistry::registerPeerObjectCluster(ctx->getInfoHashAsString(), cluster);
+ SharedHandle<PeerObject> peerObject(new PeerObject());
peerObject->extensionMessageFactory = exmsgFactory;
PEER_OBJECT_CLUSTER(ctx)->registerHandle(peer->getID(), peerObject);
@@ -100,8 +101,8 @@ void BtExtendedMessageTest::testCreate() {
void BtExtendedMessageTest::testGetMessage() {
std::string payload = "4:name3:foo";
uint8_t extendedMessageID = 1;
- SharedHandle<MockExtensionMessage> exmsg =
- new MockExtensionMessage("charlie", extendedMessageID, payload);
+ SharedHandle<MockExtensionMessage> exmsg
+ (new MockExtensionMessage("charlie", extendedMessageID, payload));
BtExtendedMessage msg(exmsg);
unsigned char data[17];
@@ -112,8 +113,8 @@ void BtExtendedMessageTest::testGetMessage() {
}
void BtExtendedMessageTest::testDoReceivedAction() {
- SharedHandle<MockExtensionMessage> exmsg =
- new MockExtensionMessage("charlie", 1, "");
+ SharedHandle<MockExtensionMessage> exmsg
+ (new MockExtensionMessage("charlie", 1, ""));
BtExtendedMessage msg(exmsg);
msg.doReceivedAction();
CPPUNIT_ASSERT(exmsg->_doReceivedActionCalled);
@@ -122,8 +123,8 @@ void BtExtendedMessageTest::testDoReceivedAction() {
void BtExtendedMessageTest::testToString() {
std::string payload = "4:name3:foo";
uint8_t extendedMessageID = 1;
- SharedHandle<MockExtensionMessage> exmsg =
- new MockExtensionMessage("charlie", extendedMessageID, payload);
+ SharedHandle<MockExtensionMessage> exmsg
+ (new MockExtensionMessage("charlie", extendedMessageID, payload));
BtExtendedMessage msg(exmsg);
CPPUNIT_ASSERT_EQUAL(std::string("extended charlie"), msg.toString());
}
diff --git a/test/BtHandshakeMessageTest.cc b/test/BtHandshakeMessageTest.cc
index d845f2bd..ae626e3a 100644
--- a/test/BtHandshakeMessageTest.cc
+++ b/test/BtHandshakeMessageTest.cc
@@ -78,7 +78,7 @@ void BtHandshakeMessageTest::testGetMessage() {
0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0 };
- SharedHandle<BtHandshakeMessage> msg = new BtHandshakeMessage();
+ SharedHandle<BtHandshakeMessage> msg(new BtHandshakeMessage());
msg->setInfoHash(infoHash);
msg->setPeerId(peerId);
diff --git a/test/BtHaveAllMessageTest.cc b/test/BtHaveAllMessageTest.cc
index 9351eefa..a32e601d 100644
--- a/test/BtHaveAllMessageTest.cc
+++ b/test/BtHaveAllMessageTest.cc
@@ -60,7 +60,7 @@ void BtHaveAllMessageTest::testGetMessage() {
void BtHaveAllMessageTest::testDoReceivedAction() {
BtHaveAllMessage msg;
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(16*1024, 256*1024);
peer->setFastExtensionEnabled(true);
msg.setPeer(peer);
diff --git a/test/BtHaveMessageTest.cc b/test/BtHaveMessageTest.cc
index 5081bfb3..2aa91d5b 100644
--- a/test/BtHaveMessageTest.cc
+++ b/test/BtHaveMessageTest.cc
@@ -65,7 +65,7 @@ void BtHaveMessageTest::testGetMessage() {
}
void BtHaveMessageTest::testDoReceivedAction() {
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(16*1024, 256*1024);
BtHaveMessage msg;
msg.setIndex(1);
diff --git a/test/BtHaveNoneMessageTest.cc b/test/BtHaveNoneMessageTest.cc
index 8acaa10b..d5bbded2 100644
--- a/test/BtHaveNoneMessageTest.cc
+++ b/test/BtHaveNoneMessageTest.cc
@@ -62,7 +62,7 @@ void BtHaveNoneMessageTest::testGetMessage() {
void BtHaveNoneMessageTest::testDoReceivedAction() {
BtHaveNoneMessage msg;
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->setFastExtensionEnabled(true);
msg.setPeer(peer);
diff --git a/test/BtInterestedMessageTest.cc b/test/BtInterestedMessageTest.cc
index 23f32349..51c4e522 100644
--- a/test/BtInterestedMessageTest.cc
+++ b/test/BtInterestedMessageTest.cc
@@ -64,7 +64,7 @@ void BtInterestedMessageTest::testGetMessage() {
void BtInterestedMessageTest::testDoReceivedAction() {
BtInterestedMessage msg;
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
msg.setPeer(peer);
CPPUNIT_ASSERT(!peer->peerInterested());
@@ -74,7 +74,7 @@ void BtInterestedMessageTest::testDoReceivedAction() {
void BtInterestedMessageTest::testOnSendComplete() {
BtInterestedMessage msg;
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
msg.setPeer(peer);
CPPUNIT_ASSERT(!peer->amInterested());
diff --git a/test/BtNotInterestedMessageTest.cc b/test/BtNotInterestedMessageTest.cc
index cca0fc9f..7827bd27 100644
--- a/test/BtNotInterestedMessageTest.cc
+++ b/test/BtNotInterestedMessageTest.cc
@@ -63,7 +63,7 @@ void BtNotInterestedMessageTest::testGetMessage() {
}
void BtNotInterestedMessageTest::testDoReceivedAction() {
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->peerInterested(true);
BtNotInterestedMessage msg;
@@ -74,7 +74,7 @@ void BtNotInterestedMessageTest::testDoReceivedAction() {
}
void BtNotInterestedMessageTest::testOnSendComplete() {
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->amInterested(true);
BtNotInterestedMessage msg;
diff --git a/test/BtPieceMessageTest.cc b/test/BtPieceMessageTest.cc
index 219cf67b..19183f34 100644
--- a/test/BtPieceMessageTest.cc
+++ b/test/BtPieceMessageTest.cc
@@ -15,6 +15,7 @@
#include "BtRequestFactory.h"
#include "PeerConnection.h"
#include "ExtensionMessageFactory.h"
+#include "BtHandshakeMessage.h"
#include <cstring>
#include <cppunit/extensions/HelperMacros.h>
@@ -36,10 +37,9 @@ class BtPieceMessageTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testCancelSendingPieceEvent_invalidate);
CPPUNIT_TEST(testCancelSendingPieceEvent_sendingInProgress);
CPPUNIT_TEST(testToString);
+
CPPUNIT_TEST_SUITE_END();
public:
- BtPieceMessageTest():btMessageDispatcher(0), peer(0), msg(0) {}
-
void testCreate();
void testGetMessageHeader();
void testChokingEvent();
@@ -70,7 +70,7 @@ public:
createRejectMessage(size_t index,
uint32_t begin,
size_t length) {
- SharedHandle<MockBtMessage2> msg = new MockBtMessage2(index, begin, length);
+ SharedHandle<MockBtMessage2> msg(new MockBtMessage2(index, begin, length));
return msg;
}
};
@@ -81,23 +81,24 @@ public:
void setUp() {
BtRegistry::unregisterAll();
-
- SharedHandle<MockBtContext> btContext;
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
btContext->setPieceLength(16*1024);
btContext->setTotalLength(256*1024);
- peer = new Peer("host", 6969);
+ peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(btContext->getPieceLength(),
btContext->getTotalLength());
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject());
- btMessageDispatcher = new MockBtMessageDispatcher();
+ cluster);
+ SharedHandle<PeerObject> po(new PeerObject());
+ PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), po);
+ btMessageDispatcher.reset(new MockBtMessageDispatcher());
PEER_OBJECT(btContext, peer)->btMessageDispatcher = btMessageDispatcher;
- PEER_OBJECT(btContext, peer)->btMessageFactory = new MockBtMessageFactory2();
+ PEER_OBJECT(btContext, peer)->btMessageFactory.reset(new MockBtMessageFactory2());
- msg = new BtPieceMessage();
+ msg.reset(new BtPieceMessage());
msg->setIndex(1);
msg->setBegin(1024);
msg->setBlockLength(16*1024);
@@ -162,7 +163,7 @@ void BtPieceMessageTest::testChokingEvent() {
CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1));
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtChokingEvent());
+ msg->handleEvent(SharedHandle<BtEvent>(new BtChokingEvent()));
CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());
@@ -176,7 +177,7 @@ void BtPieceMessageTest::testChokingEvent_allowedFastEnabled() {
CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1));
CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
- msg->handleEvent(new BtChokingEvent());
+ msg->handleEvent(SharedHandle<BtEvent>(new BtChokingEvent()));
CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size());
@@ -195,7 +196,7 @@ void BtPieceMessageTest::testChokingEvent_inAmAllowedIndexSet() {
CPPUNIT_ASSERT(peer->isInAmAllowedIndexSet(1));
CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
- msg->handleEvent(new BtChokingEvent());
+ msg->handleEvent(SharedHandle<BtEvent>(new BtChokingEvent()));
CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());
@@ -208,7 +209,7 @@ void BtPieceMessageTest::testChokingEvent_invalidate() {
CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1));
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtChokingEvent());
+ msg->handleEvent(SharedHandle<BtEvent>(new BtChokingEvent()));
CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());
@@ -221,7 +222,7 @@ void BtPieceMessageTest::testChokingEvent_sendingInProgress() {
CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1));
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtChokingEvent());
+ msg->handleEvent(SharedHandle<BtEvent>(new BtChokingEvent()));
CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());
@@ -232,7 +233,8 @@ void BtPieceMessageTest::testCancelSendingPieceEvent() {
CPPUNIT_ASSERT(!msg->isSendingInProgress());
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 1024, 16*1024));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 1024, 16*1024)));
CPPUNIT_ASSERT(msg->isInvalidate());
}
@@ -242,15 +244,18 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_noMatch() {
CPPUNIT_ASSERT(!msg->isSendingInProgress());
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtCancelSendingPieceEvent(0, 1024, 16*1024));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(0, 1024, 16*1024)));
CPPUNIT_ASSERT(!msg->isInvalidate());
-
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 0, 16*1024));
+
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 0, 16*1024)));
CPPUNIT_ASSERT(!msg->isInvalidate());
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 1024, 0));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 1024, 0)));
CPPUNIT_ASSERT(!msg->isInvalidate());
}
@@ -261,7 +266,8 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_allowedFastEnabled() {
CPPUNIT_ASSERT(!msg->isSendingInProgress());
CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 1024, 16*1024));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 1024, 16*1024)));
CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size());
@@ -278,7 +284,8 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_invalidate() {
CPPUNIT_ASSERT(!msg->isSendingInProgress());
CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 1024, 16*1024));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 1024, 16*1024)));
CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());
@@ -290,14 +297,15 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_sendingInProgress() {
CPPUNIT_ASSERT(msg->isSendingInProgress());
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
- msg->handleEvent(new BtCancelSendingPieceEvent(1, 1024, 16*1024));
+ msg->handleEvent
+ (SharedHandle<BtEvent>(new BtCancelSendingPieceEvent(1, 1024, 16*1024)));
CPPUNIT_ASSERT(!msg->isInvalidate());
}
void BtPieceMessageTest::testToString() {
CPPUNIT_ASSERT_EQUAL(std::string("piece index=1, begin=1024, length=16384"),
- msg->toString());
+ msg->toString());
}
} // namespace aria2
diff --git a/test/BtPortMessageTest.cc b/test/BtPortMessageTest.cc
index 26dda687..3d2d184c 100644
--- a/test/BtPortMessageTest.cc
+++ b/test/BtPortMessageTest.cc
@@ -39,13 +39,13 @@ public:
virtual SharedHandle<DHTTask>
createPingTask(const SharedHandle<DHTNode>& remoteNode, size_t numRetry)
{
- return new MockDHTTask(remoteNode);
+ return SharedHandle<DHTTask>(new MockDHTTask(remoteNode));
}
virtual SharedHandle<DHTTask>
createNodeLookupTask(const unsigned char* targetID)
{
- MockDHTTask* task = new MockDHTTask(0);
+ SharedHandle<MockDHTTask> task(new MockDHTTask(SharedHandle<DHTNode>()));
task->setTargetID(targetID);
return task;
}
@@ -98,14 +98,14 @@ void BtPortMessageTest::testDoReceivedAction()
{
unsigned char nodeID[DHT_ID_LENGTH];
memset(nodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(nodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(nodeID));
// 9 nodes to create at least 2 buckets.
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[9];
for(size_t i = 0; i < arrayLength(nodes); ++i) {
memset(nodeID, 0, DHT_ID_LENGTH);
nodeID[DHT_ID_LENGTH-1] = i;
- nodes[i] = new DHTNode(nodeID);
+ nodes[i].reset(new DHTNode(nodeID));
}
DHTRoutingTable routingTable(localNode);
@@ -113,20 +113,23 @@ void BtPortMessageTest::testDoReceivedAction()
routingTable.addNode(nodes[i]);
}
- SharedHandle<Peer> peer = new Peer("192.168.0.1", 6881);
+ SharedHandle<Peer> peer(new Peer("192.168.0.1", 6881));
BtPortMessage msg(6881);
MockDHTTaskQueue taskQueue;
MockDHTTaskFactory2 taskFactory;
msg.setLocalNode(localNode);
- msg.setRoutingTable(&routingTable);
- msg.setTaskQueue(&taskQueue);
- msg.setTaskFactory(&taskFactory);
+ msg.setRoutingTable(WeakHandle<DHTRoutingTable>(&routingTable));
+ msg.setTaskQueue(WeakHandle<DHTTaskQueue>(&taskQueue));
+ msg.setTaskFactory(WeakHandle<DHTTaskFactory>(&taskFactory));
msg.setPeer(peer);
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, taskQueue._immediateTaskQueue.size());
- SharedHandle<DHTNode> node = SharedHandle<MockDHTTask>(taskQueue._immediateTaskQueue.front())->_remoteNode;
+
+ SharedHandle<MockDHTTask> task
+ (dynamic_pointer_cast<MockDHTTask>(taskQueue._immediateTaskQueue[0]));
+ SharedHandle<DHTNode> node = task->_remoteNode;
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), node->getIPAddress());
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, node->getPort());
}
@@ -136,27 +139,30 @@ void BtPortMessageTest::testDoReceivedAction_bootstrap()
unsigned char nodeID[DHT_ID_LENGTH];
memset(nodeID, 0, DHT_ID_LENGTH);
nodeID[0] = 0xff;
- SharedHandle<DHTNode> localNode = new DHTNode(nodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(nodeID));
DHTRoutingTable routingTable(localNode); // no nodes , 1 bucket.
- SharedHandle<Peer> peer = new Peer("192.168.0.1", 6881);
+ SharedHandle<Peer> peer(new Peer("192.168.0.1", 6881));
BtPortMessage msg(6881);
MockDHTTaskQueue taskQueue;
MockDHTTaskFactory2 taskFactory;
msg.setLocalNode(localNode);
- msg.setRoutingTable(&routingTable);
- msg.setTaskQueue(&taskQueue);
- msg.setTaskFactory(&taskFactory);
+ msg.setRoutingTable(WeakHandle<DHTRoutingTable>(&routingTable));
+ msg.setTaskQueue(WeakHandle<DHTTaskQueue>(&taskQueue));
+ msg.setTaskFactory(WeakHandle<DHTTaskFactory>(&taskFactory));
msg.setPeer(peer);
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)2, taskQueue._immediateTaskQueue.size());
- SharedHandle<DHTNode> node = SharedHandle<MockDHTTask>(taskQueue._immediateTaskQueue[0])->_remoteNode;
+ SharedHandle<MockDHTTask> task
+ (dynamic_pointer_cast<MockDHTTask>(taskQueue._immediateTaskQueue[0]));
+ SharedHandle<DHTNode> node(task->_remoteNode);
CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), node->getIPAddress());
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, node->getPort());
- SharedHandle<MockDHTTask> task2 = taskQueue._immediateTaskQueue[1];
+ SharedHandle<MockDHTTask> task2
+ (dynamic_pointer_cast<MockDHTTask>(taskQueue._immediateTaskQueue[1]));
CPPUNIT_ASSERT(memcmp(nodeID, task2->_targetID, DHT_ID_LENGTH) == 0);
}
diff --git a/test/BtPostDownloadHandlerTest.cc b/test/BtPostDownloadHandlerTest.cc
index 8f9e49fe..1c457459 100644
--- a/test/BtPostDownloadHandlerTest.cc
+++ b/test/BtPostDownloadHandlerTest.cc
@@ -31,7 +31,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( BtPostDownloadHandlerTest );
void BtPostDownloadHandlerTest::testCanHandle_extension()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.torrent");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.torrent"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -46,7 +47,8 @@ void BtPostDownloadHandlerTest::testCanHandle_extension()
void BtPostDownloadHandlerTest::testCanHandle_contentType()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test"));
dctx->setContentType("application/x-bittorrent");
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -62,7 +64,8 @@ void BtPostDownloadHandlerTest::testCanHandle_contentType()
void BtPostDownloadHandlerTest::testGetNextRequestGroups()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.torrent");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.torrent"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
rg.initPieceStorage();
@@ -70,7 +73,8 @@ void BtPostDownloadHandlerTest::testGetNextRequestGroups()
BtPostDownloadHandler handler;
std::deque<SharedHandle<RequestGroup> > groups = handler.getNextRequestGroups(&rg);
CPPUNIT_ASSERT_EQUAL((size_t)1, groups.size());
- SharedHandle<BtContext> btctx = groups.front()->getDownloadContext();
+ SharedHandle<BtContext> btctx
+ (dynamic_pointer_cast<BtContext>(groups.front()->getDownloadContext()));
CPPUNIT_ASSERT(!btctx.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("aria2-test"), btctx->getName());
}
diff --git a/test/BtRegistryTest.cc b/test/BtRegistryTest.cc
index 08898517..028a74d8 100644
--- a/test/BtRegistryTest.cc
+++ b/test/BtRegistryTest.cc
@@ -57,7 +57,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( BtRegistryTest );
void BtRegistryTest::testGetBtContext()
{
CPPUNIT_ASSERT(BtRegistry::getBtContext("test").isNull());
- SharedHandle<BtContext> btContext = new MockBtContext();
+ SharedHandle<BtContext> btContext(new MockBtContext());
BtRegistry::registerBtContext("test", btContext);
CPPUNIT_ASSERT_EQUAL(btContext.get(),
BtRegistry::getBtContext("test").get());
@@ -116,7 +116,8 @@ void BtRegistryTest::testGetBtProgressInfoFile() {
void BtRegistryTest::testGetPeerObjectCluster() {
CPPUNIT_ASSERT(!BtRegistry::getPeerObjectCluster("test").get());
- BtRegistry::registerPeerObjectCluster("test", new PeerObjectCluster());
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
+ BtRegistry::registerPeerObjectCluster("test", cluster);
CPPUNIT_ASSERT(BtRegistry::getPeerObjectCluster("test").get());
diff --git a/test/BtRejectMessageTest.cc b/test/BtRejectMessageTest.cc
index e92b5875..a9e1c993 100644
--- a/test/BtRejectMessageTest.cc
+++ b/test/BtRejectMessageTest.cc
@@ -71,29 +71,32 @@ public:
SharedHandle<MockBtMessageDispatcher2> dispatcher;
SharedHandle<BtRejectMessage> msg;
- BtRejectMessageTest():peer(0), dispatcher(0), msg(0) {}
-
void setUp() {
BtRegistry::unregisterAll();
- peer = new Peer("host", 6969);
+ peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
- SharedHandle<MockBtContext> btContext = new MockBtContext();
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject());
- dispatcher = new MockBtMessageDispatcher2();
+ cluster);
+ SharedHandle<PeerObject> po(new PeerObject());
+ PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), po);
+ dispatcher.reset(new MockBtMessageDispatcher2());
PEER_OBJECT(btContext, peer)->btMessageDispatcher = dispatcher;
- msg = new BtRejectMessage();
+ msg.reset(new BtRejectMessage());
msg->setPeer(peer);
msg->setBtContext(btContext);
msg->setIndex(1);
msg->setBegin(16);
msg->setLength(32);
msg->setBtMessageDispatcher(dispatcher);
+ }
+ void tearDown() {
+ BtRegistry::unregisterAll();
}
};
diff --git a/test/BtRequestMessageTest.cc b/test/BtRequestMessageTest.cc
index 1d653e93..69bb4fd6 100644
--- a/test/BtRequestMessageTest.cc
+++ b/test/BtRequestMessageTest.cc
@@ -15,6 +15,7 @@
#include "PeerConnection.h"
#include "ExtensionMessageFactory.h"
#include "FileEntry.h"
+#include "BtHandshakeMessage.h"
#include <cstring>
#include <cppunit/extensions/HelperMacros.h>
@@ -75,13 +76,13 @@ public:
public:
virtual SharedHandle<BtMessage>
createPieceMessage(size_t index, uint32_t begin, size_t length) {
- SharedHandle<MockBtMessage2> btMsg = new MockBtMessage2("piece", index, begin, length);
+ SharedHandle<MockBtMessage2> btMsg(new MockBtMessage2("piece", index, begin, length));
return btMsg;
}
virtual SharedHandle<BtMessage>
createRejectMessage(size_t index, uint32_t begin, size_t length) {
- SharedHandle<MockBtMessage2> btMsg = new MockBtMessage2("reject", index, begin, length);
+ SharedHandle<MockBtMessage2> btMsg(new MockBtMessage2("reject", index, begin, length));
return btMsg;
}
};
@@ -92,34 +93,34 @@ public:
SharedHandle<MockBtMessageDispatcher> dispatcher;
SharedHandle<BtRequestMessage> msg;
- BtRequestMessageTest():peer(0), dispatcher(0), msg(0) {}
-
void setUp() {
BtRegistry::unregisterAll();
- SharedHandle<MockBtContext> btContext = new MockBtContext();
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
btContext->setPieceLength(16*1024);
btContext->setTotalLength(256*1024);
- SharedHandle<MockPieceStorage> pieceStorage = new MockPieceStorage2();
+ SharedHandle<MockPieceStorage> pieceStorage(new MockPieceStorage2());
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
pieceStorage);
- peer = new Peer("host", 6969);
+ peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(btContext->getPieceLength(),
btContext->getTotalLength());
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), new PeerObject());
+ cluster);
+ SharedHandle<PeerObject> po(new PeerObject());
+ PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), po);
- dispatcher = new MockBtMessageDispatcher();
+ dispatcher.reset(new MockBtMessageDispatcher());
PEER_OBJECT(btContext, peer)->btMessageDispatcher = dispatcher;
- PEER_OBJECT(btContext, peer)->btMessageFactory = new MockBtMessageFactory2();
+ PEER_OBJECT(btContext, peer)->btMessageFactory.reset(new MockBtMessageFactory2());
- msg = new BtRequestMessage();
+ msg.reset(new BtRequestMessage());
msg->setBtContext(btContext);
msg->setPeer(peer);
msg->setIndex(1);
@@ -232,9 +233,9 @@ void BtRequestMessageTest::testDoReceivedAction_doesntHavePieceAndFastExtensionD
}
void BtRequestMessageTest::testHandleAbortRequestEvent() {
- SharedHandle<Piece> piece = new Piece(1, 16*1024);
- SharedHandle<BtAbortOutstandingRequestEvent> event =
- new BtAbortOutstandingRequestEvent(piece);
+ SharedHandle<Piece> piece(new Piece(1, 16*1024));
+ SharedHandle<BtAbortOutstandingRequestEvent> event
+ (new BtAbortOutstandingRequestEvent(piece));
CPPUNIT_ASSERT(!msg->isInvalidate());
msg->handleEvent(event);
@@ -243,9 +244,9 @@ void BtRequestMessageTest::testHandleAbortRequestEvent() {
}
void BtRequestMessageTest::testHandleAbortRequestEvent_indexNoMatch() {
- SharedHandle<Piece> piece = new Piece(2, 16*1024);
- SharedHandle<BtAbortOutstandingRequestEvent> event =
- new BtAbortOutstandingRequestEvent(piece);
+ SharedHandle<Piece> piece(new Piece(2, 16*1024));
+ SharedHandle<BtAbortOutstandingRequestEvent> event
+ (new BtAbortOutstandingRequestEvent(piece));
CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT(!msg->isSendingInProgress());
@@ -254,9 +255,9 @@ void BtRequestMessageTest::testHandleAbortRequestEvent_indexNoMatch() {
}
void BtRequestMessageTest::testHandleAbortRequestEvent_alreadyInvalidated() {
- SharedHandle<Piece> piece = new Piece(1, 16*1024);
- SharedHandle<BtAbortOutstandingRequestEvent> event =
- new BtAbortOutstandingRequestEvent(piece);
+ SharedHandle<Piece> piece(new Piece(1, 16*1024));
+ SharedHandle<BtAbortOutstandingRequestEvent> event
+ (new BtAbortOutstandingRequestEvent(piece));
msg->setInvalidate(true);
CPPUNIT_ASSERT(msg->isInvalidate());
@@ -266,9 +267,9 @@ void BtRequestMessageTest::testHandleAbortRequestEvent_alreadyInvalidated() {
}
void BtRequestMessageTest::testHandleAbortRequestEvent_sendingInProgress() {
- SharedHandle<Piece> piece = new Piece(1, 16*1024);
- SharedHandle<BtAbortOutstandingRequestEvent> event =
- new BtAbortOutstandingRequestEvent(piece);
+ SharedHandle<Piece> piece(new Piece(1, 16*1024));
+ SharedHandle<BtAbortOutstandingRequestEvent> event
+ (new BtAbortOutstandingRequestEvent(piece));
msg->setSendingInProgress(true);
CPPUNIT_ASSERT(!msg->isInvalidate());
diff --git a/test/BtUnchokeMessageTest.cc b/test/BtUnchokeMessageTest.cc
index 9ab7ce6c..99d833f8 100644
--- a/test/BtUnchokeMessageTest.cc
+++ b/test/BtUnchokeMessageTest.cc
@@ -62,7 +62,7 @@ void BtUnchokeMessageTest::testGetMessage() {
}
void BtUnchokeMessageTest::testDoReceivedAction() {
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->peerChoking(true);
BtUnchokeMessage msg;
@@ -74,7 +74,7 @@ void BtUnchokeMessageTest::testDoReceivedAction() {
}
void BtUnchokeMessageTest::testOnSendComplete() {
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024);
peer->amChoking(true);
BtUnchokeMessage msg;
diff --git a/test/DHTAnnouncePeerMessageTest.cc b/test/DHTAnnouncePeerMessageTest.cc
index c2dd6dff..6a00a7e4 100644
--- a/test/DHTAnnouncePeerMessageTest.cc
+++ b/test/DHTAnnouncePeerMessageTest.cc
@@ -33,7 +33,7 @@ public:
createAnnouncePeerReplyMessage(const SharedHandle<DHTNode>& remoteNode,
const std::string& transactionID)
{
- return new MockDHTMessage(_localNode, remoteNode, "announce_peer", transactionID);
+ return SharedHandle<DHTMessage>(new MockDHTMessage(_localNode, remoteNode, "announce_peer", transactionID));
}
};
};
@@ -43,8 +43,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTAnnouncePeerMessageTest);
void DHTAnnouncePeerMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -60,7 +60,7 @@ void DHTAnnouncePeerMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("q"));
cm->put("q", new Data("announce_peer"));
@@ -80,8 +80,8 @@ void DHTAnnouncePeerMessageTest::testGetBencodedMessage()
void DHTAnnouncePeerMessageTest::testDoReceivedAction()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
@@ -101,14 +101,16 @@ void DHTAnnouncePeerMessageTest::testDoReceivedAction()
MockDHTMessageDispatcher dispatcher;
DHTAnnouncePeerMessage msg(localNode, remoteNode, infoHash, port, token, transactionID);
- msg.setPeerAnnounceStorage(&peerAnnounceStorage);
- msg.setMessageFactory(&factory);
- msg.setMessageDispatcher(&dispatcher);
+ msg.setPeerAnnounceStorage(WeakHandle<DHTPeerAnnounceStorage>
+ (&peerAnnounceStorage));
+ msg.setMessageFactory(WeakHandle<DHTMessageFactory>(&factory));
+ msg.setMessageDispatcher(WeakHandle<DHTMessageDispatcher>(&dispatcher));
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher._messageQueue.size());
- SharedHandle<MockDHTMessage> m = dispatcher._messageQueue[0]._message;
+ SharedHandle<MockDHTMessage> m
+ (dynamic_pointer_cast<MockDHTMessage>(dispatcher._messageQueue[0]._message));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("announce_peer"), m->getMessageType());
diff --git a/test/DHTAnnouncePeerReplyMessageTest.cc b/test/DHTAnnouncePeerReplyMessageTest.cc
index a266bd63..8ccfac51 100644
--- a/test/DHTAnnouncePeerReplyMessageTest.cc
+++ b/test/DHTAnnouncePeerReplyMessageTest.cc
@@ -28,8 +28,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTAnnouncePeerReplyMessageTest);
void DHTAnnouncePeerReplyMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -39,7 +39,7 @@ void DHTAnnouncePeerReplyMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("r"));
Dictionary* r = new Dictionary();
diff --git a/test/DHTBucketTest.cc b/test/DHTBucketTest.cc
index 73f54e85..17907757 100644
--- a/test/DHTBucketTest.cc
+++ b/test/DHTBucketTest.cc
@@ -48,7 +48,7 @@ void DHTBucketTest::testGetRandomNodeID()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
{
DHTBucket bucket(localNode);
unsigned char nodeID[DHT_ID_LENGTH];
@@ -77,13 +77,13 @@ void DHTBucketTest::testIsInRange()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
{
unsigned char nodeID[] = { 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(localNode);
CPPUNIT_ASSERT(bucket.isInRange(node));
memset(nodeID, 0xff, sizeof(nodeID));
@@ -104,7 +104,7 @@ void DHTBucketTest::testIsInRange()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(16, max, min, localNode);
CPPUNIT_ASSERT(bucket.isInRange(node));
}
@@ -114,7 +114,7 @@ void DHTBucketTest::testIsInRange()
0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(16, max, min, localNode);
CPPUNIT_ASSERT(bucket.isInRange(node));
}
@@ -123,7 +123,7 @@ void DHTBucketTest::testIsInRange()
0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(16, max, min, localNode);
CPPUNIT_ASSERT(bucket.isInRange(node));
}
@@ -133,7 +133,7 @@ void DHTBucketTest::testIsInRange()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(16, max, min, localNode);
CPPUNIT_ASSERT(!bucket.isInRange(node));
}
@@ -143,7 +143,7 @@ void DHTBucketTest::testIsInRange()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> node = new DHTNode(nodeID);
+ SharedHandle<DHTNode> node(new DHTNode(nodeID));
DHTBucket bucket(16, max, min, localNode);
CPPUNIT_ASSERT(!bucket.isInRange(node));
}
@@ -157,7 +157,7 @@ void DHTBucketTest::testSplitAllowed()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
CPPUNIT_ASSERT(bucket.splitAllowed());
}
@@ -175,7 +175,7 @@ void DHTBucketTest::testSplitAllowed()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00 };
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(3, max, min, localNode);
CPPUNIT_ASSERT(!bucket.splitAllowed());
}
@@ -184,7 +184,7 @@ void DHTBucketTest::testSplitAllowed()
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01 };
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(3, max, min, localNode);
CPPUNIT_ASSERT(bucket.splitAllowed());
}
@@ -195,7 +195,7 @@ void DHTBucketTest::testSplit()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
{
DHTBucket bucket(localNode);
SharedHandle<DHTBucket> r = bucket.split();
@@ -227,7 +227,7 @@ void DHTBucketTest::testSplit()
}
}
{
- SharedHandle<DHTBucket> bucket = new DHTBucket(localNode);
+ SharedHandle<DHTBucket> bucket(new DHTBucket(localNode));
for(int i = 0; i < 159; ++i) {
CPPUNIT_ASSERT(bucket->splitAllowed());
SharedHandle<DHTBucket> t = bucket;
@@ -260,18 +260,18 @@ void DHTBucketTest::testAddNode()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
unsigned char id[DHT_ID_LENGTH];
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes[i] = new DHTNode(id);
+ nodes[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(bucket.addNode(nodes[i]));
}
createID(id, 0xf0, 0xff);
- SharedHandle<DHTNode> newNode = new DHTNode(id);
+ SharedHandle<DHTNode> newNode(new DHTNode(id));
CPPUNIT_ASSERT(!bucket.addNode(newNode));
// nodes[0] is located at the tail of the bucket(least recent seen)
@@ -284,14 +284,14 @@ void DHTBucketTest::testMoveToHead()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
unsigned char id[DHT_ID_LENGTH];
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes[i] = new DHTNode(id);
+ nodes[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(bucket.addNode(nodes[i]));
}
bucket.moveToHead(nodes[DHTBucket::K-1]);
@@ -302,14 +302,14 @@ void DHTBucketTest::testMoveToTail()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
unsigned char id[DHT_ID_LENGTH];
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes[i] = new DHTNode(id);
+ nodes[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(bucket.addNode(nodes[i]));
}
bucket.moveToTail(nodes[0]);
@@ -320,14 +320,14 @@ void DHTBucketTest::testGetGoodNodes()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
unsigned char id[DHT_ID_LENGTH];
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes[i] = new DHTNode(id);
+ nodes[i].reset(new DHTNode(id));
nodes[i]->setPort(6881+i);
CPPUNIT_ASSERT(bucket.addNode(nodes[i]));
}
@@ -347,12 +347,12 @@ void DHTBucketTest::testCacheNode()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
- SharedHandle<DHTNode> n1 = new DHTNode();
- SharedHandle<DHTNode> n2 = new DHTNode();
- SharedHandle<DHTNode> n3 = new DHTNode();
+ SharedHandle<DHTNode> n1(new DHTNode());
+ SharedHandle<DHTNode> n2(new DHTNode());
+ SharedHandle<DHTNode> n3(new DHTNode());
bucket.cacheNode(n1);
bucket.cacheNode(n2);
@@ -369,20 +369,20 @@ void DHTBucketTest::testDropNode()
{
unsigned char localNodeID[DHT_ID_LENGTH];
memset(localNodeID, 0, DHT_ID_LENGTH);
- SharedHandle<DHTNode> localNode = new DHTNode(localNodeID);
+ SharedHandle<DHTNode> localNode(new DHTNode(localNodeID));
DHTBucket bucket(localNode);
unsigned char id[DHT_ID_LENGTH];
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes[i] = new DHTNode(id);
+ nodes[i].reset(new DHTNode(id));
nodes[i]->setPort(6881+i);
CPPUNIT_ASSERT(bucket.addNode(nodes[i]));
}
- SharedHandle<DHTNode> cachedNode1 = new DHTNode();
- SharedHandle<DHTNode> cachedNode2 = new DHTNode();
+ SharedHandle<DHTNode> cachedNode1(new DHTNode());
+ SharedHandle<DHTNode> cachedNode2(new DHTNode());
bucket.dropNode(nodes[3]);
// nothing happens because the replacement cache is empty.
diff --git a/test/DHTFindNodeMessageTest.cc b/test/DHTFindNodeMessageTest.cc
index 3b252831..b544fa6c 100644
--- a/test/DHTFindNodeMessageTest.cc
+++ b/test/DHTFindNodeMessageTest.cc
@@ -35,8 +35,8 @@ public:
const std::deque<SharedHandle<DHTNode> >& closestKNodes,
const std::string& transactionID)
{
- SharedHandle<MockDHTMessage> m =
- new MockDHTMessage(_localNode, remoteNode, "find_node", transactionID);
+ SharedHandle<MockDHTMessage> m
+ (new MockDHTMessage(_localNode, remoteNode, "find_node", transactionID));
m->_nodes = closestKNodes;
return m;
}
@@ -48,20 +48,20 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTFindNodeMessageTest);
void DHTFindNodeMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
- SharedHandle<DHTNode> targetNode = new DHTNode();
+ SharedHandle<DHTNode> targetNode(new DHTNode());
DHTFindNodeMessage msg(localNode, remoteNode, targetNode->getID(), transactionID);
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("q"));
cm->put("q", new Data("find_node"));
@@ -78,14 +78,14 @@ void DHTFindNodeMessageTest::testGetBencodedMessage()
void DHTFindNodeMessageTest::testDoReceivedAction()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
- SharedHandle<DHTNode> targetNode = new DHTNode();
+ SharedHandle<DHTNode> targetNode(new DHTNode());
MockDHTMessageDispatcher dispatcher;
MockDHTMessageFactory2 factory;
@@ -94,14 +94,15 @@ void DHTFindNodeMessageTest::testDoReceivedAction()
routingTable.addNode(targetNode);
DHTFindNodeMessage msg(localNode, remoteNode, targetNode->getID(), transactionID);
- msg.setMessageDispatcher(&dispatcher);
- msg.setMessageFactory(&factory);
- msg.setRoutingTable(&routingTable);
+ msg.setMessageDispatcher(WeakHandle<DHTMessageDispatcher>(&dispatcher));
+ msg.setMessageFactory(WeakHandle<DHTMessageFactory>(&factory));
+ msg.setRoutingTable(WeakHandle<DHTRoutingTable>(&routingTable));
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher._messageQueue.size());
- SharedHandle<MockDHTMessage> m = dispatcher._messageQueue[0]._message;
+ SharedHandle<MockDHTMessage> m
+ (dynamic_pointer_cast<MockDHTMessage>(dispatcher._messageQueue[0]._message));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("find_node"), m->getMessageType());
diff --git a/test/DHTFindNodeReplyMessageTest.cc b/test/DHTFindNodeReplyMessageTest.cc
index 6410a885..cab09ad1 100644
--- a/test/DHTFindNodeReplyMessageTest.cc
+++ b/test/DHTFindNodeReplyMessageTest.cc
@@ -30,8 +30,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTFindNodeReplyMessageTest);
void DHTFindNodeReplyMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -40,9 +40,9 @@ void DHTFindNodeReplyMessageTest::testGetBencodedMessage()
DHTFindNodeReplyMessage msg(localNode, remoteNode, transactionID);
std::string compactNodeInfo;
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
- nodes[i] = new DHTNode();
+ nodes[i].reset(new DHTNode());
nodes[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodes[i]->setPort(6881+i);
@@ -56,7 +56,7 @@ void DHTFindNodeReplyMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("r"));
Dictionary* r = new Dictionary();
diff --git a/test/DHTGetPeersMessageTest.cc b/test/DHTGetPeersMessageTest.cc
index 1eb27d73..8b514d7b 100644
--- a/test/DHTGetPeersMessageTest.cc
+++ b/test/DHTGetPeersMessageTest.cc
@@ -38,8 +38,8 @@ public:
const std::string& token,
const std::string& transactionID)
{
- SharedHandle<MockDHTMessage> m =
- new MockDHTMessage(_localNode, remoteNode, "get_peers", transactionID);
+ SharedHandle<MockDHTMessage> m
+ (new MockDHTMessage(_localNode, remoteNode, "get_peers", transactionID));
m->_peers = peers;
m->_token = token;
return m;
@@ -51,8 +51,8 @@ public:
const std::string& token,
const std::string& transactionID)
{
- SharedHandle<MockDHTMessage> m =
- new MockDHTMessage(_localNode, remoteNode, "get_peers", transactionID);
+ SharedHandle<MockDHTMessage> m
+ (new MockDHTMessage(_localNode, remoteNode, "get_peers", transactionID));
m->_nodes = closestKNodes;
m->_token = token;
return m;
@@ -66,8 +66,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTGetPeersMessageTest);
void DHTGetPeersMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -80,7 +80,7 @@ void DHTGetPeersMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("q"));
cm->put("q", new Data("get_peers"));
@@ -98,8 +98,8 @@ void DHTGetPeersMessageTest::testGetBencodedMessage()
void DHTGetPeersMessageTest::testDoReceivedAction()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
@@ -116,21 +116,26 @@ void DHTGetPeersMessageTest::testDoReceivedAction()
factory.setLocalNode(localNode);
DHTGetPeersMessage msg(localNode, remoteNode, infoHash, transactionID);
- msg.setTokenTracker(&tokenTracker);
- msg.setMessageDispatcher(&dispatcher);
- msg.setMessageFactory(&factory);
+ msg.setTokenTracker(WeakHandle<DHTTokenTracker>
+ (&tokenTracker));
+ msg.setMessageDispatcher(WeakHandle<DHTMessageDispatcher>
+ (&dispatcher));
+ msg.setMessageFactory(WeakHandle<DHTMessageFactory>
+ (&factory));
{
// localhost has peer contact information for that infohash.
DHTPeerAnnounceStorage peerAnnounceStorage;
peerAnnounceStorage.addPeerAnnounce(infoHash, "192.168.0.100", 6888);
peerAnnounceStorage.addPeerAnnounce(infoHash, "192.168.0.101", 6889);
- msg.setPeerAnnounceStorage(&peerAnnounceStorage);
+ msg.setPeerAnnounceStorage(WeakHandle<DHTPeerAnnounceStorage>
+ (&peerAnnounceStorage));
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher._messageQueue.size());
- SharedHandle<MockDHTMessage> m = dispatcher._messageQueue[0]._message;
+ SharedHandle<MockDHTMessage> m
+ (dynamic_pointer_cast<MockDHTMessage>(dispatcher._messageQueue[0]._message));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("get_peers"), m->getMessageType());
@@ -154,16 +159,19 @@ void DHTGetPeersMessageTest::testDoReceivedAction()
// localhost doesn't have peer contact information for that infohash.
DHTPeerAnnounceStorage peerAnnounceStorage;
DHTRoutingTable routingTable(localNode);
- SharedHandle<DHTNode> returnNode1 = new DHTNode();
+ SharedHandle<DHTNode> returnNode1(new DHTNode());
routingTable.addNode(returnNode1);
- msg.setPeerAnnounceStorage(&peerAnnounceStorage);
- msg.setRoutingTable(&routingTable);
+ msg.setPeerAnnounceStorage(WeakHandle<DHTPeerAnnounceStorage>
+ (&peerAnnounceStorage));
+ msg.setRoutingTable(WeakHandle<DHTRoutingTable>
+ (&routingTable));
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher._messageQueue.size());
- SharedHandle<MockDHTMessage> m = dispatcher._messageQueue[0]._message;
+ SharedHandle<MockDHTMessage> m
+ (dynamic_pointer_cast<MockDHTMessage>(dispatcher._messageQueue[0]._message));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("get_peers"), m->getMessageType());
diff --git a/test/DHTGetPeersReplyMessageTest.cc b/test/DHTGetPeersReplyMessageTest.cc
index 59716020..89fd2def 100644
--- a/test/DHTGetPeersReplyMessageTest.cc
+++ b/test/DHTGetPeersReplyMessageTest.cc
@@ -32,8 +32,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTGetPeersReplyMessageTest);
void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -43,7 +43,7 @@ void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
DHTGetPeersReplyMessage msg(localNode, remoteNode, token, transactionID);
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("r"));
Dictionary* r = new Dictionary();
@@ -53,9 +53,9 @@ void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
{
std::string compactNodeInfo;
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
- nodes[i] = new DHTNode();
+ nodes[i].reset(new DHTNode());
nodes[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodes[i]->setPort(6881+i);
@@ -83,7 +83,7 @@ void DHTGetPeersReplyMessageTest::testGetBencodedMessage()
List* values = new List();
r->put("values", values);
for(size_t i = 0; i < 4; ++i) {
- SharedHandle<Peer> peer = new Peer("192.168.0."+Util::uitos(i+1), 6881+i);
+ SharedHandle<Peer> peer(new Peer("192.168.0."+Util::uitos(i+1), 6881+i));
unsigned char buffer[6];
CPPUNIT_ASSERT(PeerMessageUtil::createcompact(buffer, peer->ipaddr, peer->port));
values->add(new Data(buffer, sizeof(buffer)));
diff --git a/test/DHTIDCloserTest.cc b/test/DHTIDCloserTest.cc
index ebe51a5e..e5d3cdf5 100644
--- a/test/DHTIDCloserTest.cc
+++ b/test/DHTIDCloserTest.cc
@@ -30,19 +30,24 @@ void DHTIDCloserTest::testOperator()
unsigned char id[DHT_ID_LENGTH];
memset(id, 0xf0, DHT_ID_LENGTH);
- SharedHandle<DHTNodeLookupEntry> e1 = new DHTNodeLookupEntry(new DHTNode(id));
+ SharedHandle<DHTNodeLookupEntry> e1
+ (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
id[0] = 0xb0;
- SharedHandle<DHTNodeLookupEntry> e2 = new DHTNodeLookupEntry(new DHTNode(id));
+ SharedHandle<DHTNodeLookupEntry> e2
+ (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
id[0] = 0xa0;
- SharedHandle<DHTNodeLookupEntry> e3 = new DHTNodeLookupEntry(new DHTNode(id));
+ SharedHandle<DHTNodeLookupEntry> e3
+ (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
id[0] = 0x80;
- SharedHandle<DHTNodeLookupEntry> e4 = new DHTNodeLookupEntry(new DHTNode(id));
+ SharedHandle<DHTNodeLookupEntry> e4
+ (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
id[0] = 0x00;
- SharedHandle<DHTNodeLookupEntry> e5 = new DHTNodeLookupEntry(new DHTNode(id));
+ SharedHandle<DHTNodeLookupEntry> e5
+ (new DHTNodeLookupEntry(SharedHandle<DHTNode>(new DHTNode(id))));
std::deque<SharedHandle<DHTNodeLookupEntry> > entries;
entries.push_back(e1);
diff --git a/test/DHTMessageFactoryImplTest.cc b/test/DHTMessageFactoryImplTest.cc
index 7be1de95..3547f1bd 100644
--- a/test/DHTMessageFactoryImplTest.cc
+++ b/test/DHTMessageFactoryImplTest.cc
@@ -38,9 +38,7 @@ class DHTMessageFactoryImplTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testReceivedErrorMessage);
CPPUNIT_TEST_SUITE_END();
public:
- DHTMessageFactoryImplTest():factory(0), routingTable(0), localNode(0) {}
-
- DHTMessageFactoryImpl* factory;
+ SharedHandle<DHTMessageFactoryImpl> factory;
SharedHandle<DHTRoutingTable> routingTable;
@@ -52,19 +50,16 @@ public:
void setUp()
{
- localNode = new DHTNode();
- factory = new DHTMessageFactoryImpl();
+ localNode.reset(new DHTNode());
+ factory.reset(new DHTMessageFactoryImpl());
factory->setLocalNode(localNode);
memset(transactionID, 0xff, DHT_TRANSACTION_ID_LENGTH);
memset(remoteNodeID, 0x0f, DHT_ID_LENGTH);
- routingTable = new DHTRoutingTable(localNode);
+ routingTable.reset(new DHTRoutingTable(localNode));
factory->setRoutingTable(routingTable);
}
- void tearDown()
- {
- delete factory;
- }
+ void tearDown() {}
void testCreatePingMessage();
void testCreatePingReplyMessage();
@@ -83,7 +78,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTMessageFactoryImplTest);
void DHTMessageFactoryImplTest::testCreatePingMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("q"));
d->put("q", new Data("ping"));
@@ -91,8 +86,9 @@ void DHTMessageFactoryImplTest::testCreatePingMessage()
a->put("id", new Data(remoteNodeID, DHT_ID_LENGTH));
d->put("a", a);
- SharedHandle<DHTPingMessage> m = factory->createQueryMessage(d.get(), "192.168.0.1", 6881);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTPingMessage> m
+ (dynamic_pointer_cast<DHTPingMessage>(factory->createQueryMessage(d.get(), "192.168.0.1", 6881)));
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
@@ -104,18 +100,19 @@ void DHTMessageFactoryImplTest::testCreatePingMessage()
void DHTMessageFactoryImplTest::testCreatePingReplyMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("r"));
Dictionary* r = new Dictionary();
r->put("id", new Data(remoteNodeID, DHT_ID_LENGTH));
d->put("r", r);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
- SharedHandle<DHTPingReplyMessage> m = factory->createResponseMessage("ping", d.get(), remoteNode);
+ SharedHandle<DHTPingReplyMessage> m
+ (dynamic_pointer_cast<DHTPingReplyMessage>(factory->createResponseMessage("ping", d.get(), remoteNode)));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
@@ -125,7 +122,7 @@ void DHTMessageFactoryImplTest::testCreatePingReplyMessage()
void DHTMessageFactoryImplTest::testCreateFindNodeMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("q"));
d->put("q", new Data("find_node"));
@@ -136,8 +133,9 @@ void DHTMessageFactoryImplTest::testCreateFindNodeMessage()
a->put("target", new Data(targetNodeID, DHT_ID_LENGTH));
d->put("a", a);
- SharedHandle<DHTFindNodeMessage> m = factory->createQueryMessage(d.get(), "192.168.0.1", 6881);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTFindNodeMessage> m
+ (dynamic_pointer_cast<DHTFindNodeMessage>(factory->createQueryMessage(d.get(), "192.168.0.1", 6881)));
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
@@ -152,15 +150,15 @@ void DHTMessageFactoryImplTest::testCreateFindNodeMessage()
void DHTMessageFactoryImplTest::testCreateFindNodeReplyMessage()
{
try {
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("r"));
Dictionary* r = new Dictionary();
r->put("id", new Data(remoteNodeID, DHT_ID_LENGTH));
std::string compactNodeInfo;
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
- nodes[i] = new DHTNode();
+ nodes[i].reset(new DHTNode());
nodes[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodes[i]->setPort(6881+i);
@@ -173,11 +171,12 @@ void DHTMessageFactoryImplTest::testCreateFindNodeReplyMessage()
r->put("nodes", new Data(compactNodeInfo));
d->put("r", r);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
- SharedHandle<DHTFindNodeReplyMessage> m = factory->createResponseMessage("find_node", d.get(), remoteNode);
+ SharedHandle<DHTFindNodeReplyMessage> m
+ (dynamic_pointer_cast<DHTFindNodeReplyMessage>(factory->createResponseMessage("find_node", d.get(), remoteNode)));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
@@ -194,7 +193,7 @@ void DHTMessageFactoryImplTest::testCreateFindNodeReplyMessage()
void DHTMessageFactoryImplTest::testCreateGetPeersMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("q"));
d->put("q", new Data("get_peers"));
@@ -205,8 +204,9 @@ void DHTMessageFactoryImplTest::testCreateGetPeersMessage()
a->put("info_hash", new Data(infoHash, DHT_ID_LENGTH));
d->put("a", a);
- SharedHandle<DHTGetPeersMessage> m = factory->createQueryMessage(d.get(), "192.168.0.1", 6881);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTGetPeersMessage> m
+ (dynamic_pointer_cast<DHTGetPeersMessage>(factory->createQueryMessage(d.get(), "192.168.0.1", 6881)));
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
@@ -221,15 +221,15 @@ void DHTMessageFactoryImplTest::testCreateGetPeersMessage()
void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_nodes()
{
try {
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("r"));
Dictionary* r = new Dictionary();
r->put("id", new Data(remoteNodeID, DHT_ID_LENGTH));
std::string compactNodeInfo;
- SharedHandle<DHTNode> nodes[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
- nodes[i] = new DHTNode();
+ nodes[i].reset(new DHTNode());
nodes[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodes[i]->setPort(6881+i);
@@ -243,11 +243,12 @@ void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_nodes()
r->put("token", new Data("token"));
d->put("r", r);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
- SharedHandle<DHTGetPeersReplyMessage> m = factory->createResponseMessage("get_peers", d.get(), remoteNode);
+ SharedHandle<DHTGetPeersReplyMessage> m
+ (dynamic_pointer_cast<DHTGetPeersReplyMessage>(factory->createResponseMessage("get_peers", d.get(), remoteNode)));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
@@ -266,7 +267,7 @@ void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_nodes()
void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_values()
{
try {
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("r"));
Dictionary* r = new Dictionary();
@@ -276,7 +277,7 @@ void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_values()
List* values = new List();
r->put("values", values);
for(size_t i = 0; i < 4; ++i) {
- SharedHandle<Peer> peer = new Peer("192.168.0."+Util::uitos(i+1), 6881+i);
+ SharedHandle<Peer> peer(new Peer("192.168.0."+Util::uitos(i+1), 6881+i));
unsigned char buffer[6];
CPPUNIT_ASSERT(PeerMessageUtil::createcompact(buffer, peer->ipaddr, peer->port));
values->add(new Data(buffer, sizeof(buffer)));
@@ -286,11 +287,12 @@ void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_values()
r->put("token", new Data("token"));
d->put("r", r);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
- SharedHandle<DHTGetPeersReplyMessage> m = factory->createResponseMessage("get_peers", d.get(), remoteNode);
+ SharedHandle<DHTGetPeersReplyMessage> m
+ (dynamic_pointer_cast<DHTGetPeersReplyMessage>(factory->createResponseMessage("get_peers", d.get(), remoteNode)));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
@@ -309,7 +311,7 @@ void DHTMessageFactoryImplTest::testCreateGetPeersReplyMessage_values()
void DHTMessageFactoryImplTest::testCreateAnnouncePeerMessage()
{
try {
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("q"));
d->put("q", new Data("announce_peer"));
@@ -324,8 +326,9 @@ void DHTMessageFactoryImplTest::testCreateAnnouncePeerMessage()
a->put("token", new Data(token));
d->put("a", a);
- SharedHandle<DHTAnnouncePeerMessage> m = factory->createQueryMessage(d.get(), "192.168.0.1", 6882);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTAnnouncePeerMessage> m
+ (dynamic_pointer_cast<DHTAnnouncePeerMessage>(factory->createQueryMessage(d.get(), "192.168.0.1", 6882)));
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6882);
@@ -347,18 +350,19 @@ void DHTMessageFactoryImplTest::testCreateAnnouncePeerMessage()
void DHTMessageFactoryImplTest::testCreateAnnouncePeerReplyMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("r"));
Dictionary* r = new Dictionary();
r->put("id", new Data(remoteNodeID, DHT_ID_LENGTH));
d->put("r", r);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
- SharedHandle<DHTAnnouncePeerReplyMessage> m = factory->createResponseMessage("announce_peer", d.get(), remoteNode);
+ SharedHandle<DHTAnnouncePeerReplyMessage> m
+ (dynamic_pointer_cast<DHTAnnouncePeerReplyMessage>(factory->createResponseMessage("announce_peer", d.get(), remoteNode)));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
@@ -368,7 +372,7 @@ void DHTMessageFactoryImplTest::testCreateAnnouncePeerReplyMessage()
void DHTMessageFactoryImplTest::testReceivedErrorMessage()
{
- SharedHandle<Dictionary> d = new Dictionary();
+ SharedHandle<Dictionary> d(new Dictionary());
d->put("t", new Data(transactionID, DHT_TRANSACTION_ID_LENGTH));
d->put("y", new Data("e"));
List* l = new List();
@@ -376,7 +380,7 @@ void DHTMessageFactoryImplTest::testReceivedErrorMessage()
l->add(new Data("Not found"));
d->put("e", l);
- SharedHandle<DHTNode> remoteNode = new DHTNode(remoteNodeID);
+ SharedHandle<DHTNode> remoteNode(new DHTNode(remoteNodeID));
remoteNode->setIPAddress("192.168.0.1");
remoteNode->setPort(6881);
diff --git a/test/DHTMessageTrackerEntryTest.cc b/test/DHTMessageTrackerEntryTest.cc
index f831c065..25d08dae 100644
--- a/test/DHTMessageTrackerEntryTest.cc
+++ b/test/DHTMessageTrackerEntryTest.cc
@@ -31,10 +31,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTMessageTrackerEntryTest);
void DHTMessageTrackerEntryTest::testMatch()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
try {
- SharedHandle<MockDHTMessage> msg1 = new MockDHTMessage(localNode, new DHTNode());
- SharedHandle<MockDHTMessage> msg2 = new MockDHTMessage(localNode, new DHTNode());
+ SharedHandle<DHTNode> node1(new DHTNode());
+ SharedHandle<MockDHTMessage> msg1(new MockDHTMessage(localNode, node1));
+ SharedHandle<DHTNode> node2(new DHTNode());
+ SharedHandle<MockDHTMessage> msg2(new MockDHTMessage(localNode, node2));
DHTMessageTrackerEntry entry(msg1, 30);
diff --git a/test/DHTMessageTrackerTest.cc b/test/DHTMessageTrackerTest.cc
index 800e2556..9a0a144a 100644
--- a/test/DHTMessageTrackerTest.cc
+++ b/test/DHTMessageTrackerTest.cc
@@ -47,14 +47,17 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTMessageTrackerTest);
void DHTMessageTrackerTest::testMessageArrived()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTRoutingTable> routingTable = new DHTRoutingTable(localNode);
- SharedHandle<MockDHTMessageFactory> factory = new MockDHTMessageFactory();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTRoutingTable> routingTable(new DHTRoutingTable(localNode));
+ SharedHandle<MockDHTMessageFactory> factory(new MockDHTMessageFactory());
factory->setLocalNode(localNode);
- SharedHandle<MockDHTMessage> m1 = new MockDHTMessage(localNode, new DHTNode());
- SharedHandle<MockDHTMessage> m2 = new MockDHTMessage(localNode, new DHTNode());
- SharedHandle<MockDHTMessage> m3 = new MockDHTMessage(localNode, new DHTNode());
+ SharedHandle<MockDHTMessage> m1(new MockDHTMessage(localNode,
+ SharedHandle<DHTNode>(new DHTNode())));
+ SharedHandle<MockDHTMessage> m2(new MockDHTMessage(localNode,
+ SharedHandle<DHTNode>(new DHTNode())));
+ SharedHandle<MockDHTMessage> m3(new MockDHTMessage(localNode,
+ SharedHandle<DHTNode>(new DHTNode())));
m1->getRemoteNode()->setIPAddress("192.168.0.1");
m1->getRemoteNode()->setPort(6881);
@@ -63,7 +66,7 @@ void DHTMessageTrackerTest::testMessageArrived()
m3->getRemoteNode()->setIPAddress("192.168.0.3");
m3->getRemoteNode()->setPort(6883);
- SharedHandle<MockDHTMessageCallback2> c2 = new MockDHTMessageCallback2();
+ SharedHandle<MockDHTMessageCallback2> c2(new MockDHTMessageCallback2());
DHTMessageTracker tracker;
tracker.setRoutingTable(routingTable);
@@ -73,7 +76,7 @@ void DHTMessageTrackerTest::testMessageArrived()
tracker.addMessage(m3);
{
- SharedHandle<Dictionary> res = new Dictionary();
+ SharedHandle<Dictionary> res(new Dictionary());
res->put("t", new Data(m2->getTransactionID()));
std::pair<SharedHandle<DHTMessage>, SharedHandle<DHTMessageCallback> > p =
@@ -86,7 +89,7 @@ void DHTMessageTrackerTest::testMessageArrived()
CPPUNIT_ASSERT_EQUAL((size_t)2, tracker.countEntry());
}
{
- SharedHandle<Dictionary> res = new Dictionary();
+ SharedHandle<Dictionary> res(new Dictionary());
res->put("t", new Data(m3->getTransactionID()));
std::pair<SharedHandle<DHTMessage>, SharedHandle<DHTMessageCallback> > p = tracker.messageArrived(res.get(), m3->getRemoteNode()->getIPAddress(), m3->getRemoteNode()->getPort());
@@ -97,7 +100,7 @@ void DHTMessageTrackerTest::testMessageArrived()
CPPUNIT_ASSERT_EQUAL((size_t)1, tracker.countEntry());
}
{
- SharedHandle<Dictionary> res = new Dictionary();
+ SharedHandle<Dictionary> res(new Dictionary());
res->put("t", new Data(m1->getTransactionID()));
std::pair<SharedHandle<DHTMessage>, SharedHandle<DHTMessageCallback> > p = tracker.messageArrived(res.get(), "192.168.1.100", 6889);
diff --git a/test/DHTPeerAnnounceEntryTest.cc b/test/DHTPeerAnnounceEntryTest.cc
index 83ef477d..419fe0b0 100644
--- a/test/DHTPeerAnnounceEntryTest.cc
+++ b/test/DHTPeerAnnounceEntryTest.cc
@@ -69,7 +69,7 @@ void DHTPeerAnnounceEntryTest::testEmpty()
}
{
DHTPeerAnnounceEntry entry(infohash);
- entry.setBtContext(new MockBtContext());
+ entry.setBtContext(SharedHandle<BtContext>(new MockBtContext()));
CPPUNIT_ASSERT(!entry.empty());
}
{
@@ -100,12 +100,14 @@ void DHTPeerAnnounceEntryTest::testGetPeers()
unsigned char infohash[DHT_ID_LENGTH];
memset(infohash, 0xff, DHT_ID_LENGTH);
- SharedHandle<MockBtContext> ctx = new MockBtContext();
+ SharedHandle<MockBtContext> ctx(new MockBtContext());
ctx->setInfoHash(infohash);
- SharedHandle<MockPeerStorage> peerStorage = new MockPeerStorage();
+ SharedHandle<MockPeerStorage> peerStorage(new MockPeerStorage());
{
- SharedHandle<Peer> activePeers[] = { new Peer("192.168.0.3", 6883),
- new Peer("192.168.0.4", 6884) };
+ SharedHandle<Peer> activePeers[2];
+ activePeers[0].reset(new Peer("192.168.0.3", 6883));
+ activePeers[1].reset(new Peer("192.168.0.4", 6884));
+
peerStorage->setActivePeers(std::deque<SharedHandle<Peer> >(&activePeers[0],
&activePeers[2]));
}
diff --git a/test/DHTPeerAnnounceStorageTest.cc b/test/DHTPeerAnnounceStorageTest.cc
index 071939c2..8a11a28c 100644
--- a/test/DHTPeerAnnounceStorageTest.cc
+++ b/test/DHTPeerAnnounceStorageTest.cc
@@ -55,10 +55,10 @@ void DHTPeerAnnounceStorageTest::testRemovePeerAnnounce()
memset(infohash2, 0xf0, DHT_ID_LENGTH);
DHTPeerAnnounceStorage storage;
- SharedHandle<MockBtContext> ctx1 = new MockBtContext();
+ SharedHandle<MockBtContext> ctx1(new MockBtContext());
ctx1->setInfoHash(infohash1);
- SharedHandle<MockBtContext> ctx2 = new MockBtContext();
+ SharedHandle<MockBtContext> ctx2(new MockBtContext());
ctx2->setInfoHash(infohash2);
storage.addPeerAnnounce(infohash1, "192.168.0.1", 6881);
diff --git a/test/DHTPingMessageTest.cc b/test/DHTPingMessageTest.cc
index bbd3c7fe..d931c3b7 100644
--- a/test/DHTPingMessageTest.cc
+++ b/test/DHTPingMessageTest.cc
@@ -34,8 +34,9 @@ public:
const unsigned char* remoteNodeID,
const std::string& transactionID)
{
- return new MockDHTMessage(_localNode, remoteNode, "ping_reply",
- transactionID);
+ return SharedHandle<DHTMessage>
+ (new MockDHTMessage(_localNode, remoteNode, "ping_reply",
+ transactionID));
}
};
};
@@ -45,8 +46,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTPingMessageTest);
void DHTPingMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -56,7 +57,7 @@ void DHTPingMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("q"));
cm->put("q", new Data("ping"));
@@ -72,8 +73,8 @@ void DHTPingMessageTest::testGetBencodedMessage()
void DHTPingMessageTest::testDoReceivedAction()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -84,13 +85,14 @@ void DHTPingMessageTest::testDoReceivedAction()
factory.setLocalNode(localNode);
DHTPingMessage msg(localNode, remoteNode, transactionID);
- msg.setMessageDispatcher(&dispatcher);
- msg.setMessageFactory(&factory);
+ msg.setMessageDispatcher(WeakHandle<DHTMessageDispatcher>(&dispatcher));
+ msg.setMessageFactory(WeakHandle<DHTMessageFactory>(&factory));
msg.doReceivedAction();
CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher._messageQueue.size());
- SharedHandle<MockDHTMessage> m = dispatcher._messageQueue[0]._message;
+ SharedHandle<MockDHTMessage> m
+ (dynamic_pointer_cast<MockDHTMessage>(dispatcher._messageQueue[0]._message));
CPPUNIT_ASSERT(localNode == m->getLocalNode());
CPPUNIT_ASSERT(remoteNode == m->getRemoteNode());
CPPUNIT_ASSERT_EQUAL(std::string("ping_reply"), m->getMessageType());
diff --git a/test/DHTPingReplyMessageTest.cc b/test/DHTPingReplyMessageTest.cc
index aac99565..b39fa1c3 100644
--- a/test/DHTPingReplyMessageTest.cc
+++ b/test/DHTPingReplyMessageTest.cc
@@ -28,8 +28,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTPingReplyMessageTest);
void DHTPingReplyMessageTest::testGetBencodedMessage()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
- SharedHandle<DHTNode> remoteNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ SharedHandle<DHTNode> remoteNode(new DHTNode());
unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
@@ -42,7 +42,7 @@ void DHTPingReplyMessageTest::testGetBencodedMessage()
std::string msgbody = msg.getBencodedMessage();
- SharedHandle<Dictionary> cm = new Dictionary();
+ SharedHandle<Dictionary> cm(new Dictionary());
cm->put("t", new Data(transactionID));
cm->put("y", new Data("r"));
Dictionary* r = new Dictionary();
diff --git a/test/DHTRoutingTableDeserializerTest.cc b/test/DHTRoutingTableDeserializerTest.cc
index f48df545..714dde6b 100644
--- a/test/DHTRoutingTableDeserializerTest.cc
+++ b/test/DHTRoutingTableDeserializerTest.cc
@@ -32,11 +32,11 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTRoutingTableDeserializerTest);
void DHTRoutingTableDeserializerTest::testDeserialize()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
- SharedHandle<DHTNode> nodesSrc[] = { 0, 0, 0 };
+ SharedHandle<DHTNode> nodesSrc[3];
for(size_t i = 0; i < arrayLength(nodesSrc); ++i) {
- nodesSrc[i] = new DHTNode();
+ nodesSrc[i].reset(new DHTNode());
nodesSrc[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodesSrc[i]->setPort(6881+i);
}
diff --git a/test/DHTRoutingTableSerializerTest.cc b/test/DHTRoutingTableSerializerTest.cc
index a745c8e3..dfb57a75 100644
--- a/test/DHTRoutingTableSerializerTest.cc
+++ b/test/DHTRoutingTableSerializerTest.cc
@@ -31,11 +31,11 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTRoutingTableSerializerTest);
void DHTRoutingTableSerializerTest::testSerialize()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
- SharedHandle<DHTNode> nodesSrc[] = { 0, 0, 0 };
+ SharedHandle<DHTNode> nodesSrc[3];
for(size_t i = 0; i < arrayLength(nodesSrc); ++i) {
- nodesSrc[i] = new DHTNode();
+ nodesSrc[i].reset(new DHTNode());
nodesSrc[i]->setIPAddress("192.168.0."+Util::uitos(i+1));
nodesSrc[i]->setPort(6881+i);
}
diff --git a/test/DHTRoutingTableTest.cc b/test/DHTRoutingTableTest.cc
index f77ed24f..0b2e6cd4 100644
--- a/test/DHTRoutingTableTest.cc
+++ b/test/DHTRoutingTableTest.cc
@@ -31,12 +31,16 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTRoutingTableTest);
void DHTRoutingTableTest::testAddNode()
{
- DHTRoutingTable table(new DHTNode());
- table.setTaskFactory(new MockDHTTaskFactory());
- table.setTaskQueue(new MockDHTTaskQueue());
+ SharedHandle<DHTNode> localNode(new DHTNode());
+ DHTRoutingTable table(localNode);
+ SharedHandle<MockDHTTaskFactory> taskFactory(new MockDHTTaskFactory());
+ table.setTaskFactory(taskFactory);
+ SharedHandle<MockDHTTaskQueue> taskQueue(new MockDHTTaskQueue());
+ table.setTaskQueue(taskQueue);
uint32_t count = 0;
for(int i = 0; i < 100; ++i) {
- if(table.addNode(new DHTNode())) {
+ SharedHandle<DHTNode> node(new DHTNode());
+ if(table.addNode(node)) {
++count;
}
}
@@ -54,26 +58,26 @@ void DHTRoutingTableTest::testGetClosestKNodes()
{
unsigned char id[DHT_ID_LENGTH];
createID(id, 0x81, 0);
- SharedHandle<DHTNode> localNode = new DHTNode(id);
+ SharedHandle<DHTNode> localNode(new DHTNode(id));
DHTRoutingTable table(localNode);
- SharedHandle<DHTNode> nodes1[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
- SharedHandle<DHTNode> nodes2[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
- SharedHandle<DHTNode> nodes3[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ SharedHandle<DHTNode> nodes1[8];
+ SharedHandle<DHTNode> nodes2[8];
+ SharedHandle<DHTNode> nodes3[8];
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0xf0, i);
- nodes1[i] = new DHTNode(id);
+ nodes1[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(table.addNode(nodes1[i]));
}
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0x80, i);
- nodes2[i] = new DHTNode(id);
+ nodes2[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(table.addNode(nodes2[i]));
}
for(size_t i = 0; i < DHTBucket::K; ++i) {
createID(id, 0x70, i);
- nodes3[i] = new DHTNode(id);
+ nodes3[i].reset(new DHTNode(id));
CPPUNIT_ASSERT(table.addNode(nodes3[i]));
}
{
diff --git a/test/DHTUnknownMessageTest.cc b/test/DHTUnknownMessageTest.cc
index 2e72517b..7801bdd8 100644
--- a/test/DHTUnknownMessageTest.cc
+++ b/test/DHTUnknownMessageTest.cc
@@ -23,7 +23,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DHTUnknownMessageTest);
void DHTUnknownMessageTest::testToString()
{
- SharedHandle<DHTNode> localNode = new DHTNode();
+ SharedHandle<DHTNode> localNode(new DHTNode());
std::string ipaddr = "192.168.0.1";
uint16_t port = 6881;
diff --git a/test/DefaultAuthResolverTest.cc b/test/DefaultAuthResolverTest.cc
index 0f5e8fce..017e5651 100644
--- a/test/DefaultAuthResolverTest.cc
+++ b/test/DefaultAuthResolverTest.cc
@@ -20,9 +20,10 @@ public:
{
//_netrc = new Netrc();
//_option = new Option();
- _resolver = new DefaultAuthResolver();
+ _resolver.reset(new DefaultAuthResolver());
//_factory->setOption(_option.get());
- _resolver->setDefaultAuthConfig(new AuthConfig("foo", "bar"));
+ _resolver->setDefaultAuthConfig
+ (SharedHandle<AuthConfig>(new AuthConfig("foo", "bar")));
}
void testResolveAuthConfig_without_userDefined();
@@ -40,7 +41,8 @@ void DefaultAuthResolverTest::testResolveAuthConfig_without_userDefined()
void DefaultAuthResolverTest::testResolveAuthConfig_with_userDefined()
{
- _resolver->setUserDefinedAuthConfig(new AuthConfig("myname", "mypasswd"));
+ _resolver->setUserDefinedAuthConfig
+ (SharedHandle<AuthConfig>(new AuthConfig("myname", "mypasswd")));
SharedHandle<AuthConfig> authConfig = _resolver->resolveAuthConfig("localhost");
CPPUNIT_ASSERT_EQUAL(std::string("myname:mypasswd"), authConfig->getAuthText());
}
diff --git a/test/DefaultBtAnnounceTest.cc b/test/DefaultBtAnnounceTest.cc
index 7e6e67ff..c8985587 100644
--- a/test/DefaultBtAnnounceTest.cc
+++ b/test/DefaultBtAnnounceTest.cc
@@ -34,11 +34,6 @@ private:
SharedHandle<BtRuntime> _btRuntime;
Option* _option;
public:
- DefaultBtAnnounceTest():_btContext(0),
- _pieceStorage(0),
- _peerStorage(0),
- _btRuntime(0) {}
-
void setUp() {
_option = new Option();
@@ -53,23 +48,23 @@ public:
std::string peerId = "-aria2-ultrafastdltl";
- _btContext = new MockBtContext();
+ _btContext.reset(new MockBtContext());
_btContext->setInfoHash(infoHash);
_btContext->setTotalLength(totalLength);
_btContext->setPieceLength(pieceLength);
_btContext->setPeerId(reinterpret_cast<const unsigned char*>(peerId.c_str()));
- _pieceStorage = new MockPieceStorage();
+ _pieceStorage.reset(new MockPieceStorage());
_pieceStorage->setTotalLength(totalLength);
_pieceStorage->setCompletedLength(pieceLength*10);
- _peerStorage = new MockPeerStorage();
+ _peerStorage.reset(new MockPeerStorage());
TransferStat stat;
stat.setSessionDownloadLength(pieceLength*5);
stat.setSessionUploadLength(pieceLength*6);
_peerStorage->setStat(stat);
- _btRuntime = new BtRuntime();
+ _btRuntime.reset(new BtRuntime());
_btRuntime->setListenPort(6989);
}
@@ -96,12 +91,12 @@ void DefaultBtAnnounceTest::testNoMoreAnnounce()
std::string trackerURI1 = "http://localhost/announce";
std::deque<std::string> uris1;
uris1.push_back(trackerURI1);
- SharedHandle<AnnounceTier> announceTier1 = new AnnounceTier(uris1);
+ SharedHandle<AnnounceTier> announceTier1(new AnnounceTier(uris1));
std::string trackerURI2 = "http://backup/announce";
std::deque<std::string> uris2;
uris2.push_back(trackerURI2);
- SharedHandle<AnnounceTier> announceTier2 = new AnnounceTier(uris2);
+ SharedHandle<AnnounceTier> announceTier2(new AnnounceTier(uris2));
_btContext->addAnnounceTier(announceTier1);
@@ -111,7 +106,7 @@ void DefaultBtAnnounceTest::testNoMoreAnnounce()
btAnnounce.setPieceStorage(_pieceStorage);
btAnnounce.setPeerStorage(_peerStorage);
btAnnounce.setBtRuntime(_btRuntime);
- btAnnounce.setRandomizer(new FixedNumberRandomizer());
+ btAnnounce.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
btAnnounce.generateKey();
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started&supportcrypto=1"), btAnnounce.getAnnounceUrl());
@@ -154,7 +149,7 @@ void DefaultBtAnnounceTest::testGetAnnounceUrl()
std::string trackerURI = "http://localhost/announce";
std::deque<std::string> uris;
uris.push_back(trackerURI);
- SharedHandle<AnnounceTier> announceTier = new AnnounceTier(uris);
+ SharedHandle<AnnounceTier> announceTier(new AnnounceTier(uris));
_btContext->addAnnounceTier(announceTier);
@@ -162,7 +157,7 @@ void DefaultBtAnnounceTest::testGetAnnounceUrl()
btAnnounce.setPieceStorage(_pieceStorage);
btAnnounce.setPeerStorage(_peerStorage);
btAnnounce.setBtRuntime(_btRuntime);
- btAnnounce.setRandomizer(new FixedNumberRandomizer());
+ btAnnounce.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
btAnnounce.generateKey();
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started&supportcrypto=1"), btAnnounce.getAnnounceUrl());
@@ -189,12 +184,12 @@ void DefaultBtAnnounceTest::testIsAllAnnounceFailed()
std::string trackerURI1 = "http://localhost/announce";
std::deque<std::string> uris1;
uris1.push_back(trackerURI1);
- SharedHandle<AnnounceTier> announceTier1 = new AnnounceTier(uris1);
+ SharedHandle<AnnounceTier> announceTier1(new AnnounceTier(uris1));
std::string trackerURI2 = "http://backup/announce";
std::deque<std::string> uris2;
uris2.push_back(trackerURI2);
- SharedHandle<AnnounceTier> announceTier2 = new AnnounceTier(uris2);
+ SharedHandle<AnnounceTier> announceTier2(new AnnounceTier(uris2));
_btContext->addAnnounceTier(announceTier1);
@@ -204,7 +199,7 @@ void DefaultBtAnnounceTest::testIsAllAnnounceFailed()
btAnnounce.setPieceStorage(_pieceStorage);
btAnnounce.setPeerStorage(_peerStorage);
btAnnounce.setBtRuntime(_btRuntime);
- btAnnounce.setRandomizer(new FixedNumberRandomizer());
+ btAnnounce.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
btAnnounce.generateKey();
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started&supportcrypto=1"), btAnnounce.getAnnounceUrl());
@@ -228,7 +223,7 @@ void DefaultBtAnnounceTest::testURLOrderInStoppedEvent()
{
const char* urls[] = { "http://localhost1/announce",
"http://localhost2/announce" };
- SharedHandle<AnnounceTier> announceTier = new AnnounceTier(std::deque<std::string>(&urls[0], &urls[2]));
+ SharedHandle<AnnounceTier> announceTier(new AnnounceTier(std::deque<std::string>(&urls[0], &urls[2])));
_btContext->addAnnounceTier(announceTier);
@@ -236,7 +231,7 @@ void DefaultBtAnnounceTest::testURLOrderInStoppedEvent()
btAnnounce.setPieceStorage(_pieceStorage);
btAnnounce.setPeerStorage(_peerStorage);
btAnnounce.setBtRuntime(_btRuntime);
- btAnnounce.setRandomizer(new FixedNumberRandomizer());
+ btAnnounce.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
btAnnounce.generateKey();
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost1/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started&supportcrypto=1"), btAnnounce.getAnnounceUrl());
@@ -258,7 +253,7 @@ void DefaultBtAnnounceTest::testURLOrderInCompletedEvent()
{
const char* urls[] = { "http://localhost1/announce",
"http://localhost2/announce" };
- SharedHandle<AnnounceTier> announceTier = new AnnounceTier(std::deque<std::string>(&urls[0], &urls[2]));
+ SharedHandle<AnnounceTier> announceTier(new AnnounceTier(std::deque<std::string>(&urls[0], &urls[2])));
_btContext->addAnnounceTier(announceTier);
@@ -266,7 +261,7 @@ void DefaultBtAnnounceTest::testURLOrderInCompletedEvent()
btAnnounce.setPieceStorage(_pieceStorage);
btAnnounce.setPeerStorage(_peerStorage);
btAnnounce.setBtRuntime(_btRuntime);
- btAnnounce.setRandomizer(new FixedNumberRandomizer());
+ btAnnounce.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
btAnnounce.generateKey();
CPPUNIT_ASSERT_EQUAL(std::string("http://localhost1/announce?info_hash=%01%23Eg%89%ab%cd%ef%01%23Eg%89%ab%cd%ef%01%23Eg&peer_id=%2daria2%2dultrafastdltl&uploaded=1572864&downloaded=1310720&left=1572864&compact=1&key=AAAAAAAA&numwant=50&no_peer_id=1&port=6989&event=started&supportcrypto=1"), btAnnounce.getAnnounceUrl());
@@ -288,7 +283,8 @@ void DefaultBtAnnounceTest::testProcessAnnounceResponse_malformed()
{
try {
std::string res = "i123e";
- DefaultBtAnnounce(new MockBtContext(), _option).processAnnounceResponse(reinterpret_cast<const unsigned char*>(res.c_str()), res.size());
+ SharedHandle<MockBtContext> ctx(new MockBtContext());
+ DefaultBtAnnounce(ctx, _option).processAnnounceResponse(reinterpret_cast<const unsigned char*>(res.c_str()), res.size());
CPPUNIT_FAIL("exception must be thrown.");
} catch(Exception* e) {
std::cerr << *e << std::endl;
@@ -300,7 +296,8 @@ void DefaultBtAnnounceTest::testProcessAnnounceResponse_failureReason()
{
try {
std::string res = "d14:failure reason11:hello worlde";
- DefaultBtAnnounce(new MockBtContext(), _option).processAnnounceResponse(reinterpret_cast<const unsigned char*>(res.c_str()), res.size());
+ SharedHandle<MockBtContext> ctx(new MockBtContext());
+ DefaultBtAnnounce(ctx, _option).processAnnounceResponse(reinterpret_cast<const unsigned char*>(res.c_str()), res.size());
CPPUNIT_FAIL("exception must be thrown.");
} catch(Exception* e) {
std::cerr << *e << std::endl;
@@ -319,7 +316,8 @@ void DefaultBtAnnounceTest::testProcessAnnounceResponse()
"10:incompletei200e"
"e";
- DefaultBtAnnounce an(new MockBtContext(), _option);
+ SharedHandle<MockBtContext> ctx(new MockBtContext());
+ DefaultBtAnnounce an(ctx, _option);
an.processAnnounceResponse(reinterpret_cast<const unsigned char*>(res.c_str()), res.size());
CPPUNIT_ASSERT_EQUAL(std::string("foo"), an.getTrackerID());
CPPUNIT_ASSERT_EQUAL((time_t)3000, an.getInterval());
diff --git a/test/DefaultBtContextTest.cc b/test/DefaultBtContextTest.cc
index fa1f24e6..104dcc23 100644
--- a/test/DefaultBtContextTest.cc
+++ b/test/DefaultBtContextTest.cc
@@ -223,7 +223,7 @@ void DefaultBtContextTest::testGetInfoHashAsString() {
void DefaultBtContextTest::testGetPeerId() {
DefaultBtContext btContext;
- btContext.setRandomizer(new FixedNumberRandomizer());
+ btContext.setRandomizer(SharedHandle<Randomizer>(new FixedNumberRandomizer()));
CPPUNIT_ASSERT_EQUAL(std::string("%2daria2%2dAAAAAAAAAAAAA"), Util::torrentUrlencode(btContext.getPeerId(), 20));
}
diff --git a/test/DefaultBtMessageDispatcherTest.cc b/test/DefaultBtMessageDispatcherTest.cc
index 5b3ae2d1..bb8b7398 100644
--- a/test/DefaultBtMessageDispatcherTest.cc
+++ b/test/DefaultBtMessageDispatcherTest.cc
@@ -14,6 +14,7 @@
#include "BtMessageReceiver.h"
#include "ExtensionMessageFactory.h"
#include "PeerConnection.h"
+#include "BtHandshakeMessage.h"
#include <cppunit/extensions/HelperMacros.h>
#include <cassert>
@@ -44,8 +45,6 @@ private:
SharedHandle<MockPeerStorage> peerStorage;
SharedHandle<MockPieceStorage> pieceStorage;
public:
- DefaultBtMessageDispatcherTest():btContext(0), peer(0), btMessageDispatcher(0) {}
-
void tearDown() {}
void testAddMessage();
@@ -124,34 +123,35 @@ public:
public:
virtual SharedHandle<BtMessage>
createCancelMessage(size_t index, uint32_t begin, size_t length) {
- SharedHandle<MockBtMessage2> btMsg = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> btMsg(new MockBtMessage2());
btMsg->type = "cancel";
return btMsg;
}
};
void setUp() {
- btContext = new DefaultBtContext();
+ btContext.reset(new DefaultBtContext());
btContext->load("test.torrent");
- peer = new Peer("192.168.0.1", 6969);
+ peer.reset(new Peer("192.168.0.1", 6969));
peer->allocateSessionResource(btContext->getPieceLength(),
btContext->getTotalLength());
- peerStorage = new MockPeerStorage();
- pieceStorage = new MockPieceStorage();
+ peerStorage.reset(new MockPeerStorage());
+ pieceStorage.reset(new MockPieceStorage());
BtRegistry::unregisterAll();
BtRegistry::registerPeerStorage(btContext->getInfoHashAsString(),
peerStorage);
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
pieceStorage);
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
+ cluster);
- SharedHandle<PeerObject> peerObject = new PeerObject();
- peerObject->btMessageFactory = new MockBtMessageFactory2();
+ SharedHandle<PeerObject> peerObject(new PeerObject());
+ peerObject->btMessageFactory.reset(new MockBtMessageFactory2());
PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), peerObject);
- btMessageDispatcher = new DefaultBtMessageDispatcher();
+ btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
btMessageDispatcher->setCuid(1);
btMessageDispatcher->setBtContext(btContext);
btMessageDispatcher->setPeer(peer);
@@ -164,7 +164,7 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtMessageDispatcherTest);
void DefaultBtMessageDispatcherTest::testAddMessage() {
- SharedHandle<MockBtMessage2> msg = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg(new MockBtMessage2());
CPPUNIT_ASSERT_EQUAL(false, msg->isOnQueuedCalled());
btMessageDispatcher->addMessageToQueue(msg);
CPPUNIT_ASSERT_EQUAL(true, msg->isOnQueuedCalled());
@@ -177,10 +177,10 @@ void DefaultBtMessageDispatcherTest::testSendMessages() {
stat.setUploadSpeed(0);
peerStorage->setStat(stat);
- SharedHandle<MockBtMessage2> msg1 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg1(new MockBtMessage2());
msg1->setSendingInProgress(false);
msg1->setUploading(false);
- SharedHandle<MockBtMessage2> msg2 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg2(new MockBtMessage2());
msg2->setSendingInProgress(false);
msg2->setUploading(false);
btMessageDispatcher->addMessageToQueue(msg1);
@@ -196,10 +196,10 @@ void DefaultBtMessageDispatcherTest::testSendMessages_underUploadLimit() {
stat.setUploadSpeed(0);
peerStorage->setStat(stat);
- SharedHandle<MockBtMessage2> msg1 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg1(new MockBtMessage2());
msg1->setSendingInProgress(false);
msg1->setUploading(true);
- SharedHandle<MockBtMessage2> msg2 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg2(new MockBtMessage2());
msg2->setSendingInProgress(false);
msg2->setUploading(true);
btMessageDispatcher->addMessageToQueue(msg1);
@@ -216,13 +216,13 @@ void DefaultBtMessageDispatcherTest::testSendMessages_overUploadLimit() {
stat.setUploadSpeed(150);
peerStorage->setStat(stat);
- SharedHandle<MockBtMessage2> msg1 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg1(new MockBtMessage2());
msg1->setSendingInProgress(false);
msg1->setUploading(true);
- SharedHandle<MockBtMessage2> msg2 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg2(new MockBtMessage2());
msg2->setSendingInProgress(false);
msg2->setUploading(true);
- SharedHandle<MockBtMessage2> msg3 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg3(new MockBtMessage2());
msg3->setSendingInProgress(false);
msg3->setUploading(false);
@@ -239,13 +239,13 @@ void DefaultBtMessageDispatcherTest::testSendMessages_overUploadLimit() {
}
void DefaultBtMessageDispatcherTest::testSendMessages_sendingInProgress() {
- SharedHandle<MockBtMessage2> msg1 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg1(new MockBtMessage2());
msg1->setSendingInProgress(false);
msg1->setUploading(false);
- SharedHandle<MockBtMessage2> msg2 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg2(new MockBtMessage2());
msg2->setSendingInProgress(true);
msg2->setUploading(false);
- SharedHandle<MockBtMessage2> msg3 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg3(new MockBtMessage2());
msg3->setSendingInProgress(false);
msg3->setUploading(false);
@@ -263,8 +263,8 @@ void DefaultBtMessageDispatcherTest::testSendMessages_sendingInProgress() {
}
void DefaultBtMessageDispatcherTest::testDoCancelSendingPieceAction() {
- SharedHandle<MockBtMessage2> msg1 = new MockBtMessage2();
- SharedHandle<MockBtMessage2> msg2 = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg1(new MockBtMessage2());
+ SharedHandle<MockBtMessage2> msg2(new MockBtMessage2());
btMessageDispatcher->addMessageToQueue(msg1);
btMessageDispatcher->addMessageToQueue(msg2);
@@ -280,17 +280,17 @@ int MY_PIECE_LENGTH = 16*1024;
void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing() {
RequestSlot slot(0, 0, MY_PIECE_LENGTH, 0);
- SharedHandle<Piece> piece = new Piece(0, MY_PIECE_LENGTH);
+ SharedHandle<Piece> piece(new Piece(0, MY_PIECE_LENGTH));
size_t index;
CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(index));
CPPUNIT_ASSERT_EQUAL((size_t)0, index);
- SharedHandle<MockPieceStorage2> pieceStorage = new MockPieceStorage2();
+ SharedHandle<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
pieceStorage->setPiece(piece);
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
pieceStorage);
- btMessageDispatcher = new DefaultBtMessageDispatcher();
+ btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
btMessageDispatcher->setCuid(1);
btMessageDispatcher->setBtContext(btContext);
btMessageDispatcher->setPeer(peer);
@@ -309,17 +309,17 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_tim
// make this slot timeout
slot.setDispatchedTime(0);
- SharedHandle<Piece> piece = new Piece(0, MY_PIECE_LENGTH);
+ SharedHandle<Piece> piece(new Piece(0, MY_PIECE_LENGTH));
size_t index;
CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(index));
CPPUNIT_ASSERT_EQUAL((size_t)0, index);
- SharedHandle<MockPieceStorage2> pieceStorage = new MockPieceStorage2();
+ SharedHandle<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
pieceStorage->setPiece(piece);
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
pieceStorage);
- btMessageDispatcher = new DefaultBtMessageDispatcher();
+ btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
btMessageDispatcher->setCuid(1);
btMessageDispatcher->setBtContext(btContext);
btMessageDispatcher->setPeer(peer);
@@ -340,16 +340,16 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_tim
void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_completeBlock() {
RequestSlot slot(0, 0, MY_PIECE_LENGTH, 0);
- SharedHandle<Piece> piece = new Piece(0, MY_PIECE_LENGTH);
+ SharedHandle<Piece> piece(new Piece(0, MY_PIECE_LENGTH));
piece->completeBlock(0);
- SharedHandle<MockPieceStorage2> pieceStorage = new MockPieceStorage2();
+ SharedHandle<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
pieceStorage->setPiece(piece);
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
pieceStorage);
- btMessageDispatcher = new DefaultBtMessageDispatcher();
+ btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
btMessageDispatcher->setCuid(1);
btMessageDispatcher->setBtContext(btContext);
btMessageDispatcher->setPeer(peer);
@@ -367,7 +367,7 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_com
void DefaultBtMessageDispatcherTest::testIsSendingInProgress() {
CPPUNIT_ASSERT(!btMessageDispatcher->isSendingInProgress());
- SharedHandle<MockBtMessage2> msg = new MockBtMessage2();
+ SharedHandle<MockBtMessage2> msg(new MockBtMessage2());
msg->setSendingInProgress(false);
btMessageDispatcher->addMessageToQueue(msg);
CPPUNIT_ASSERT(!btMessageDispatcher->isSendingInProgress());
diff --git a/test/DefaultBtMessageFactoryTest.cc b/test/DefaultBtMessageFactoryTest.cc
index 892d60a5..c9259724 100644
--- a/test/DefaultBtMessageFactoryTest.cc
+++ b/test/DefaultBtMessageFactoryTest.cc
@@ -29,26 +29,25 @@ private:
SharedHandle<MockBtContext> _btContext;
SharedHandle<Peer> _peer;
public:
- DefaultBtMessageFactoryTest():_btContext(0), _peer(0) {}
-
void setUp()
{
BtRegistry::unregisterAll();
- SharedHandle<MockBtContext> btContext = new MockBtContext();
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
unsigned char infohash[20];
memset(infohash, 0, sizeof(infohash));
btContext->setInfoHash(infohash);
_btContext = btContext;
- _peer = new Peer("192.168.0.1", 6969);
+ _peer.reset(new Peer("192.168.0.1", 6969));
_peer->allocateSessionResource(1024, 1024*1024);
_peer->setExtendedMessagingEnabled(true);
- SharedHandle<MockExtensionMessageFactory> exmsgFactory =
- new MockExtensionMessageFactory();
+ SharedHandle<MockExtensionMessageFactory> exmsgFactory
+ (new MockExtensionMessageFactory());
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(_btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- SharedHandle<PeerObject> peerObject = new PeerObject();
+ cluster);
+ SharedHandle<PeerObject> peerObject(new PeerObject());
peerObject->extensionMessageFactory = exmsgFactory;
PEER_OBJECT_CLUSTER(_btContext)->registerHandle(_peer->getID(), peerObject);
@@ -80,8 +79,9 @@ void DefaultBtMessageFactoryTest::testCreateBtMessage_BtExtendedMessage()
msg[5] = 1; // Set dummy extended message ID 1
memcpy(msg+6, payload.c_str(), payload.size());
- SharedHandle<BtExtendedMessage> m =
- factory.createBtMessage((const unsigned char*)msg+4, sizeof(msg));
+ SharedHandle<BtExtendedMessage> m
+ (dynamic_pointer_cast<BtExtendedMessage>
+ (factory.createBtMessage((const unsigned char*)msg+4, sizeof(msg))));
try {
// disable extended messaging
@@ -105,7 +105,9 @@ void DefaultBtMessageFactoryTest::testCreatePortMessage()
PeerMessageUtil::createPeerMessageString(data, sizeof(data), 3, 9);
PeerMessageUtil::setShortIntParam(&data[5], 6881);
try {
- SharedHandle<BtPortMessage> m = factory.createBtMessage(&data[4], sizeof(data)-4);
+ SharedHandle<BtPortMessage> m
+ (dynamic_pointer_cast<BtPortMessage>
+ (factory.createBtMessage(&data[4], sizeof(data)-4)));
CPPUNIT_ASSERT(!m.isNull());
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, m->getPort());
} catch(Exception* e) {
@@ -116,7 +118,8 @@ void DefaultBtMessageFactoryTest::testCreatePortMessage()
}
}
{
- SharedHandle<BtPortMessage> m = factory.createPortMessage(6881);
+ SharedHandle<BtPortMessage> m
+ (dynamic_pointer_cast<BtPortMessage>(factory.createPortMessage(6881)));
CPPUNIT_ASSERT_EQUAL((uint16_t)6881, m->getPort());
}
}
diff --git a/test/DefaultBtProgressInfoFileTest.cc b/test/DefaultBtProgressInfoFileTest.cc
index b6f3564d..42408385 100644
--- a/test/DefaultBtProgressInfoFileTest.cc
+++ b/test/DefaultBtProgressInfoFileTest.cc
@@ -31,8 +31,6 @@ private:
SharedHandle<Option> _option;
SharedHandle<BitfieldMan> _bitfield;
public:
- DefaultBtProgressInfoFileTest():_btContext(0), _pieceStorage(0), _option(0), _bitfield(0) {}
-
void setUp() {
BtRegistry::unregisterAll();
}
@@ -44,20 +42,20 @@ public:
0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff,
};
- _option = new Option();
+ _option.reset(new Option());
_option->put(PREF_DIR, ".");
- _btContext = new MockBtContext();
+ _btContext.reset(new MockBtContext());
_btContext->setInfoHash(infoHash);
- _bitfield = new BitfieldMan(pieceLength, totalLength);
+ _bitfield.reset(new BitfieldMan(pieceLength, totalLength));
- _pieceStorage = new MockPieceStorage();
+ _pieceStorage.reset(new MockPieceStorage());
_pieceStorage->setBitfield(_bitfield.get());
- SharedHandle<MockPeerStorage> peerStorage = new MockPeerStorage();
+ SharedHandle<MockPeerStorage> peerStorage(new MockPeerStorage());
- SharedHandle<BtRuntime> btRuntime = new BtRuntime();
+ SharedHandle<BtRuntime> btRuntime(new BtRuntime());
BtRegistry::registerBtContext(_btContext->getInfoHashAsString(),
_btContext);
@@ -132,8 +130,8 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
{
initializeMembers(1024, 81920);
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(1024, 81920, "load-nonBt");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(1024, 81920, "load-nonBt"));
DefaultBtProgressInfoFile infoFile(dctx, _pieceStorage, _option.get());
CPPUNIT_ASSERT_EQUAL(std::string("./load-nonBt.aria2"), infoFile.getFilename());
@@ -170,8 +168,8 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_pieceLengthShorter()
initializeMembers(512, 81920);
_option->put(PREF_ALLOW_PIECE_LENGTH_CHANGE, V_TRUE);
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(512, 81920, "load-nonBt");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(512, 81920, "load-nonBt"));
DefaultBtProgressInfoFile infoFile(dctx, _pieceStorage, _option.get());
CPPUNIT_ASSERT_EQUAL(std::string("./load-nonBt.aria2"), infoFile.getFilename());
@@ -192,15 +190,15 @@ void DefaultBtProgressInfoFileTest::testSave_nonBt()
{
initializeMembers(1024, 81920);
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(1024, 81920, "save-temp");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(1024, 81920, "save-temp"));
_bitfield->setAllBit();
_bitfield->unsetBit(79);
_pieceStorage->setCompletedLength(80896);
- SharedHandle<Piece> p1 = new Piece(1, 1024);
- SharedHandle<Piece> p2 = new Piece(2, 512);
+ SharedHandle<Piece> p1(new Piece(1, 1024));
+ SharedHandle<Piece> p2(new Piece(2, 512));
std::deque<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.push_back(p1);
inFlightPieces.push_back(p2);
@@ -294,10 +292,10 @@ void DefaultBtProgressInfoFileTest::testSave()
_pieceStorage->setCompletedLength(80896);
TransferStat stat;
stat.setAllTimeUploadLength(1024);
- SharedHandle<MockPeerStorage>(PEER_STORAGE(_btContext))->setStat(stat);
+ dynamic_pointer_cast<MockPeerStorage>(PEER_STORAGE(_btContext))->setStat(stat);
- SharedHandle<Piece> p1 = new Piece(1, 1024);
- SharedHandle<Piece> p2 = new Piece(2, 512);
+ SharedHandle<Piece> p1(new Piece(1, 1024));
+ SharedHandle<Piece> p2(new Piece(2, 512));
std::deque<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.push_back(p1);
inFlightPieces.push_back(p2);
diff --git a/test/DefaultBtRequestFactoryTest.cc b/test/DefaultBtRequestFactoryTest.cc
index d4b956c9..b725ee1e 100644
--- a/test/DefaultBtRequestFactoryTest.cc
+++ b/test/DefaultBtRequestFactoryTest.cc
@@ -11,6 +11,7 @@
#include "PeerConnection.h"
#include "ExtensionMessageFactory.h"
#include "FileEntry.h"
+#include "BtHandshakeMessage.h"
#include <algorithm>
#include <cppunit/extensions/HelperMacros.h>
@@ -29,8 +30,6 @@ private:
SharedHandle<DefaultBtRequestFactory> btRequestFactory;
SharedHandle<MockBtContext> btContext;
public:
- DefaultBtRequestFactoryTest():btRequestFactory(0), btContext(0) {}
-
void testAddTargetPiece();
void testRemoveCompletedPiece();
void testCreateRequestMessages();
@@ -51,7 +50,8 @@ public:
public:
virtual SharedHandle<BtMessage>
createRequestMessage(const SharedHandle<Piece>& piece, size_t blockIndex) {
- return new MockBtRequestMessage(piece->getIndex(), blockIndex);
+ return SharedHandle<BtMessage>
+ (new MockBtRequestMessage(piece->getIndex(), blockIndex));
}
};
@@ -83,43 +83,54 @@ public:
void setUp() {
BtRegistry::unregisterAll();
- btContext = new MockBtContext();
+ btContext.reset(new MockBtContext());
btContext->setInfoHash((const unsigned char*)"12345678901234567890");
btContext->setPieceLength(16*1024);
btContext->setTotalLength(256*1024);
+ SharedHandle<MockPieceStorage> pieceStorage(new MockPieceStorage());
BtRegistry::registerPieceStorage(btContext->getInfoHashAsString(),
- new MockPieceStorage());
+ pieceStorage);
- SharedHandle<Peer> peer = new Peer("host", 6969);
+ SharedHandle<Peer> peer(new Peer("host", 6969));
+ SharedHandle<PeerObjectCluster> cluster(new PeerObjectCluster());
BtRegistry::registerPeerObjectCluster(btContext->getInfoHashAsString(),
- new PeerObjectCluster());
- SharedHandle<PeerObject> peerObject = new PeerObject();
- peerObject->btMessageFactory = new MockBtMessageFactory2();
+ cluster);
+ SharedHandle<PeerObject> peerObject(new PeerObject());
+ peerObject->btMessageFactory.reset(new MockBtMessageFactory2());
PEER_OBJECT_CLUSTER(btContext)->registerHandle(peer->getID(), peerObject);
- btRequestFactory = new DefaultBtRequestFactory();
+ SharedHandle<MockBtMessageDispatcher> dispatcher
+ (new MockBtMessageDispatcher());
+
+ PEER_OBJECT(btContext, peer)->btMessageDispatcher = dispatcher;
+
+ btRequestFactory.reset(new DefaultBtRequestFactory());
btRequestFactory->setBtContext(btContext);
btRequestFactory->setPeer(peer);
- btRequestFactory->setBtMessageDispatcher(new MockBtMessageDispatcher());
+ btRequestFactory->setBtMessageDispatcher(dispatcher);
btRequestFactory->setBtMessageFactory(peerObject->btMessageFactory);
}
+ void tearDown()
+ {
+ BtRegistry::unregisterAll();
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtRequestFactoryTest);
void DefaultBtRequestFactoryTest::testAddTargetPiece() {
- SharedHandle<Piece> piece = new Piece(0, 16*1024);
+ SharedHandle<Piece> piece(new Piece(0, 16*1024));
btRequestFactory->addTargetPiece(piece);
CPPUNIT_ASSERT_EQUAL((size_t)1, btRequestFactory->countTargetPiece());
}
void DefaultBtRequestFactoryTest::testRemoveCompletedPiece() {
- SharedHandle<Piece> piece1 = new Piece(0, 16*1024);
- SharedHandle<Piece> piece2 = new Piece(1, 16*1024);
+ SharedHandle<Piece> piece1(new Piece(0, 16*1024));
+ SharedHandle<Piece> piece2(new Piece(1, 16*1024));
piece2->setAllBlock();
btRequestFactory->addTargetPiece(piece1);
btRequestFactory->addTargetPiece(piece2);
@@ -131,8 +142,8 @@ void DefaultBtRequestFactoryTest::testRemoveCompletedPiece() {
void DefaultBtRequestFactoryTest::testCreateRequestMessages() {
int PIECE_LENGTH = 16*1024*2;
- SharedHandle<Piece> piece1 = new Piece(0, PIECE_LENGTH);
- SharedHandle<Piece> piece2 = new Piece(1, PIECE_LENGTH);
+ SharedHandle<Piece> piece1(new Piece(0, PIECE_LENGTH));
+ SharedHandle<Piece> piece2(new Piece(1, PIECE_LENGTH));
btRequestFactory->addTargetPiece(piece1);
btRequestFactory->addTargetPiece(piece2);
@@ -156,37 +167,44 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages() {
}
void DefaultBtRequestFactoryTest::testCreateRequestMessages_onEndGame() {
- MockBtMessageDispatcher2* dispatcher = new MockBtMessageDispatcher2();
+ SharedHandle<MockBtMessageDispatcher2> dispatcher
+ (new MockBtMessageDispatcher2());
btRequestFactory->setBtMessageDispatcher(dispatcher);
int PIECE_LENGTH = 16*1024*2;
- SharedHandle<Piece> piece1 = new Piece(0, PIECE_LENGTH);
- SharedHandle<Piece> piece2 = new Piece(1, PIECE_LENGTH);
+ SharedHandle<Piece> piece1(new Piece(0, PIECE_LENGTH));
+ SharedHandle<Piece> piece2(new Piece(1, PIECE_LENGTH));
btRequestFactory->addTargetPiece(piece1);
btRequestFactory->addTargetPiece(piece2);
std::deque<SharedHandle<BtMessage> > msgs = btRequestFactory->createRequestMessagesOnEndGame(3);
- std::sort(msgs.begin(), msgs.end(), SortMockBtRequestMessage());
+ std::deque<SharedHandle<MockBtRequestMessage> > mmsgs;
+ for(std::deque<SharedHandle<BtMessage> >::iterator i = msgs.begin();
+ i != msgs.end(); ++i) {
+ mmsgs.push_back(dynamic_pointer_cast<MockBtRequestMessage>(*i));
+ }
- CPPUNIT_ASSERT_EQUAL((size_t)3, msgs.size());
- std::deque<SharedHandle<BtMessage> >::iterator itr = msgs.begin();
- MockBtRequestMessage* msg = (MockBtRequestMessage*)itr->get();
+ std::sort(mmsgs.begin(), mmsgs.end(), SortMockBtRequestMessage());
+
+ CPPUNIT_ASSERT_EQUAL((size_t)3, mmsgs.size());
+ std::deque<SharedHandle<MockBtRequestMessage> >::iterator itr = mmsgs.begin();
+ MockBtRequestMessage* msg = (*itr).get();
CPPUNIT_ASSERT_EQUAL((size_t)0, msg->index);
CPPUNIT_ASSERT_EQUAL((size_t)1, msg->blockIndex);
++itr;
- msg = (MockBtRequestMessage*)itr->get();
+ msg = (*itr).get();
CPPUNIT_ASSERT_EQUAL((size_t)1, msg->index);
CPPUNIT_ASSERT_EQUAL((size_t)0, msg->blockIndex);
++itr;
- msg = (MockBtRequestMessage*)itr->get();
+ msg = (*itr).get();
CPPUNIT_ASSERT_EQUAL((size_t)1, msg->index);
CPPUNIT_ASSERT_EQUAL((size_t)1, msg->blockIndex);
}
void DefaultBtRequestFactoryTest::testRemoveTargetPiece() {
- SharedHandle<Piece> piece1 = new Piece(0, 16*1024);
+ SharedHandle<Piece> piece1(new Piece(0, 16*1024));
btRequestFactory->addTargetPiece(piece1);
diff --git a/test/DefaultExtensionMessageFactoryTest.cc b/test/DefaultExtensionMessageFactoryTest.cc
index c46e0b7a..2692880a 100644
--- a/test/DefaultExtensionMessageFactoryTest.cc
+++ b/test/DefaultExtensionMessageFactoryTest.cc
@@ -24,22 +24,20 @@ private:
SharedHandle<MockBtContext> _btContext;
SharedHandle<Peer> _peer;
public:
- DefaultExtensionMessageFactoryTest():_btContext(0), _peer(0) {}
-
void setUp()
{
BtRegistry::unregisterAll();
- SharedHandle<MockBtContext> btContext = new MockBtContext();
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
unsigned char infohash[20];
memset(infohash, 0, sizeof(infohash));
btContext->setInfoHash(infohash);
_btContext = btContext;
- SharedHandle<BtRuntime> btRuntime = new BtRuntime();
+ SharedHandle<BtRuntime> btRuntime(new BtRuntime());
BtRegistry::registerBtRuntime(_btContext->getInfoHashAsString(),
btRuntime);
- _peer = new Peer("192.168.0.1", 6969);
+ _peer.reset(new Peer("192.168.0.1", 6969));
_peer->allocateSessionResource(1024, 1024*1024);
_peer->setExtension("ut_pex", 1);
}
@@ -87,9 +85,10 @@ void DefaultExtensionMessageFactoryTest::testCreateMessage_Handshake()
char id[1] = { 0 };
std::string data = std::string(&id[0], &id[1])+"d1:v5:aria2e";
- SharedHandle<HandshakeExtensionMessage> m =
- factory.createMessage(reinterpret_cast<const unsigned char*>(data.c_str()),
- data.size());
+ SharedHandle<HandshakeExtensionMessage> m
+ (dynamic_pointer_cast<HandshakeExtensionMessage>
+ (factory.createMessage(reinterpret_cast<const unsigned char*>(data.c_str()),
+ data.size())));
CPPUNIT_ASSERT_EQUAL(std::string("aria2"), m->getClientVersion());
}
@@ -116,9 +115,10 @@ void DefaultExtensionMessageFactoryTest::testCreateMessage_UTPex()
std::string(&c3[0], &c3[6])+std::string(&c4[0], &c4[6])+
"e";
- SharedHandle<UTPexExtensionMessage> m =
- factory.createMessage(reinterpret_cast<const unsigned char*>(data.c_str()),
- data.size());
+ SharedHandle<UTPexExtensionMessage> m
+ (dynamic_pointer_cast<UTPexExtensionMessage>
+ (factory.createMessage(reinterpret_cast<const unsigned char*>(data.c_str()),
+ data.size())));
CPPUNIT_ASSERT_EQUAL(factory.getExtensionMessageID("ut_pex"),
m->getExtensionMessageID());
}
diff --git a/test/DefaultPeerStorageTest.cc b/test/DefaultPeerStorageTest.cc
index 719d81b9..2b4efc12 100644
--- a/test/DefaultPeerStorageTest.cc
+++ b/test/DefaultPeerStorageTest.cc
@@ -28,13 +28,11 @@ private:
SharedHandle<BtRuntime> btRuntime;
Option* option;
public:
- DefaultPeerStorageTest():btContext(0) {}
-
void setUp() {
- btContext = new DefaultBtContext();
+ btContext.reset(new DefaultBtContext());
btContext->load("test.torrent");
option = new Option();
- btRuntime = SharedHandle<BtRuntime>(new BtRuntime());
+ btRuntime.reset(new BtRuntime());
}
void testCountPeer();
diff --git a/test/DefaultPieceStorageTest.cc b/test/DefaultPieceStorageTest.cc
index 082d6d29..91d60ad6 100644
--- a/test/DefaultPieceStorageTest.cc
+++ b/test/DefaultPieceStorageTest.cc
@@ -32,16 +32,17 @@ private:
SharedHandle<Peer> peer;
Option* option;
public:
- DefaultPieceStorageTest():btContext(0), peer(0) {
- FixedNumberRandomizer* randomizer = new FixedNumberRandomizer();
+ DefaultPieceStorageTest() {
+ SharedHandle<FixedNumberRandomizer> randomizer
+ (new FixedNumberRandomizer());
randomizer->setFixedNumber(0);
BitfieldManFactory::setDefaultRandomizer(randomizer);
}
void setUp() {
- btContext = new DefaultBtContext();
+ btContext.reset(new DefaultBtContext());
btContext->load("test.torrent");
- peer = new Peer("192.168.0.1", 6889);
+ peer.reset(new Peer("192.168.0.1", 6889));
peer->allocateSessionResource(btContext->getPieceLength(),
btContext->getTotalLength());
option = new Option();
@@ -172,14 +173,14 @@ void DefaultPieceStorageTest::testCancelPiece()
uint64_t totalLength = 32*pieceLength; // <-- make the number of piece greater than END_GAME_PIECE_NUM
std::deque<std::string> uris1;
uris1.push_back("http://localhost/src/file1.txt");
- SharedHandle<FileEntry> file1 = new FileEntry("src/file1.txt", totalLength, 0 /*, uris1*/);
+ SharedHandle<FileEntry> file1(new FileEntry("src/file1.txt", totalLength, 0 /*, uris1*/));
- SharedHandle<MockBtContext> dctx = new MockBtContext();
+ SharedHandle<MockBtContext> dctx(new MockBtContext());
dctx->setPieceLength(pieceLength);
dctx->setTotalLength(totalLength);
dctx->addFileEntry(file1);
- SharedHandle<DefaultPieceStorage> ps = new DefaultPieceStorage(dctx, option);
+ SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, option));
SharedHandle<Piece> p = ps->getMissingPiece();
p->completeBlock(0);
@@ -195,7 +196,7 @@ void DefaultPieceStorageTest::testMarkPiecesDone()
{
size_t pieceLength = 256*1024;
uint64_t totalLength = 4*1024*1024;
- SharedHandle<MockBtContext> dctx = new MockBtContext();
+ SharedHandle<MockBtContext> dctx(new MockBtContext());
dctx->setPieceLength(pieceLength);
dctx->setTotalLength(totalLength);
diff --git a/test/DownloadHandlerFactoryTest.cc b/test/DownloadHandlerFactoryTest.cc
index 6d5e2b48..b7c9c0af 100644
--- a/test/DownloadHandlerFactoryTest.cc
+++ b/test/DownloadHandlerFactoryTest.cc
@@ -33,7 +33,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( DownloadHandlerFactoryTest );
void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_extension()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.metalink");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.metalink"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -48,7 +49,8 @@ void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_extension()
void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_contentType()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test"));
dctx->setContentType("application/metalink+xml");
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -64,7 +66,8 @@ void DownloadHandlerFactoryTest::testGetMetalinkPreDownloadHandler_contentType()
void DownloadHandlerFactoryTest::testGetBtPreDownloadHandler_extension()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.torrent");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.torrent"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -79,7 +82,8 @@ void DownloadHandlerFactoryTest::testGetBtPreDownloadHandler_extension()
void DownloadHandlerFactoryTest::testGetBtPreDownloadHandler_contentType()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test"));
dctx->setContentType("application/x-bittorrent");
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
diff --git a/test/GrowSegmentTest.cc b/test/GrowSegmentTest.cc
index 4ecefbd8..da38c96f 100644
--- a/test/GrowSegmentTest.cc
+++ b/test/GrowSegmentTest.cc
@@ -24,7 +24,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( GrowSegmentTest );
void GrowSegmentTest::testUpdateWrittenLength()
{
- GrowSegment segment(new Piece());
+ GrowSegment segment(SharedHandle<Piece>(new Piece()));
segment.updateWrittenLength(32*1024);
CPPUNIT_ASSERT_EQUAL((off_t)32*1024, segment.getPositionToWrite());
@@ -34,7 +34,7 @@ void GrowSegmentTest::testUpdateWrittenLength()
void GrowSegmentTest::testClear()
{
- GrowSegment segment(new Piece());
+ GrowSegment segment(SharedHandle<Piece>(new Piece()));
segment.updateWrittenLength(32*1024);
CPPUNIT_ASSERT_EQUAL((size_t)32*1024, segment.getWrittenLength());
segment.clear();
diff --git a/test/HandshakeExtensionMessageTest.cc b/test/HandshakeExtensionMessageTest.cc
index 4851df9b..711ae23c 100644
--- a/test/HandshakeExtensionMessageTest.cc
+++ b/test/HandshakeExtensionMessageTest.cc
@@ -22,8 +22,6 @@ class HandshakeExtensionMessageTest:public CppUnit::TestFixture {
private:
SharedHandle<BtContext> _btContext;
public:
- HandshakeExtensionMessageTest():_btContext(0) {}
-
void setUp() {}
void tearDown() {}
@@ -74,7 +72,7 @@ void HandshakeExtensionMessageTest::testToString()
void HandshakeExtensionMessageTest::testDoReceivedAction()
{
- SharedHandle<Peer> peer = new Peer("192.168.0.1", 0);
+ SharedHandle<Peer> peer(new Peer("192.168.0.1", 0));
peer->allocateSessionResource(1024, 1024*1024);
HandshakeExtensionMessage msg;
msg.setClientVersion("aria2");
diff --git a/test/HelpItemTest.cc b/test/HelpItemTest.cc
index b83cee75..b9a56722 100644
--- a/test/HelpItemTest.cc
+++ b/test/HelpItemTest.cc
@@ -7,20 +7,20 @@ namespace aria2 {
class HelpItemTest:public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(HelpItemTest);
- CPPUNIT_TEST(testOperatorStreamOut);
+ CPPUNIT_TEST(testToString);
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp() {}
- void testOperatorStreamOut();
+ void testToString();
};
CPPUNIT_TEST_SUITE_REGISTRATION(HelpItemTest);
-void HelpItemTest::testOperatorStreamOut()
+void HelpItemTest::testToString()
{
std::string usage =
" -m, --max-tries=N Set number of tries. 0 means unlimited.";
@@ -31,7 +31,7 @@ void HelpItemTest::testOperatorStreamOut()
item.addTag("ftp");
std::stringstream s;
- s << item;
+ s << item.toString();
CPPUNIT_ASSERT_EQUAL(usage+"\n"+
" Available Values: 0,5,10\n"
diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc
index a2bdff62..a06109d5 100644
--- a/test/HttpRequestTest.cc
+++ b/test/HttpRequestTest.cc
@@ -44,7 +44,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( HttpRequestTest );
void HttpRequestTest::testGetStartByte()
{
HttpRequest httpRequest;
- SharedHandle<Segment> segment = new PiecedSegment(1024, new Piece(1, 1024));
+ SharedHandle<Piece> p(new Piece(1, 1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024, p));
CPPUNIT_ASSERT_EQUAL(0LL, httpRequest.getStartByte());
@@ -61,9 +62,8 @@ void HttpRequestTest::testGetEndByte()
size_t segmentLength = 1024*1024;
HttpRequest httpRequest;
- SharedHandle<Segment> segment = new PiecedSegment(segmentLength,
- new Piece(index, length));
-
+ SharedHandle<Piece> piece(new Piece(index, length));
+ SharedHandle<Segment> segment(new PiecedSegment(segmentLength, piece));
CPPUNIT_ASSERT_EQUAL(0LL, httpRequest.getEndByte());
@@ -71,7 +71,7 @@ void HttpRequestTest::testGetEndByte()
CPPUNIT_ASSERT_EQUAL(0LL, httpRequest.getEndByte());
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setKeepAlive(true);
httpRequest.setRequest(request);
@@ -87,6 +87,8 @@ void HttpRequestTest::testGetEndByte()
void HttpRequestTest::testCreateRequest()
{
+ SharedHandle<Piece> p;
+
Option option;
option.put(PREF_HTTP_AUTH_ENABLED, V_FALSE);
option.put(PREF_HTTP_PROXY_ENABLED, V_FALSE);
@@ -97,13 +99,14 @@ void HttpRequestTest::testCreateRequest()
option.put(PREF_HTTP_PROXY_USER, "aria2proxyuser");
option.put(PREF_HTTP_PROXY_PASSWD, "aria2proxypasswd");
- SharedHandle<AuthConfigFactory> authConfigFactory = new AuthConfigFactory(&option);
+ SharedHandle<AuthConfigFactory> authConfigFactory(new AuthConfigFactory(&option));
SingletonHolder<SharedHandle<AuthConfigFactory> >::instance(authConfigFactory);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
- SharedHandle<Segment> segment = new PiecedSegment(1024, new Piece(0, 1024));
+ p.reset(new Piece(0, 1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024, p));
HttpRequest httpRequest;
httpRequest.setRequest(request);
@@ -135,7 +138,8 @@ void HttpRequestTest::testCreateRequest()
CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
- segment = new PiecedSegment(1024*1024, new Piece(1, 1024*1024));
+ p.reset(new Piece(1, 1024*1024));
+ segment.reset(new PiecedSegment(1024*1024, p));
httpRequest.setSegment(segment);
expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n"
@@ -181,7 +185,8 @@ void HttpRequestTest::testCreateRequest()
request->resetUrl();
- segment = new PiecedSegment(1024*1024, new Piece(0, 1024*1024));
+ p.reset(new Piece(0, 1024*1024));
+ segment.reset(new PiecedSegment(1024*1024, p));
httpRequest.setSegment(segment);
// enable http auth
@@ -300,14 +305,17 @@ void HttpRequestTest::testCreateRequest_ftp()
option.put(PREF_HTTP_PROXY_USER, "aria2proxyuser");
option.put(PREF_HTTP_PROXY_PASSWD, "aria2proxypasswd");
- SharedHandle<AuthConfigFactory> authConfigFactory = new AuthConfigFactory(&option);
+ SharedHandle<AuthConfigFactory> authConfigFactory
+ (new AuthConfigFactory(&option));
SingletonHolder<SharedHandle<AuthConfigFactory> >::instance(authConfigFactory);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("ftp://localhost:8080/archives/aria2-1.0.0.tar.bz2");
HttpRequest httpRequest;
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(0, 1024*1024));
+ SharedHandle<Piece> p(new Piece(0, 1024*1024));
+ SharedHandle<Segment> segment
+ (new PiecedSegment(1024*1024, p));
httpRequest.setRequest(request);
httpRequest.setSegment(segment);
@@ -348,9 +356,11 @@ void HttpRequestTest::testCreateRequest_ftp()
void HttpRequestTest::testCreateRequest_with_cookie()
{
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(0, 1024*1024));
+ SharedHandle<Piece> p(new Piece(0, 1024*1024));
+ SharedHandle<Segment> segment
+ (new PiecedSegment(1024*1024, p));
Cookie cookie1("name1", "value1", "/archives", "localhost", false);
Cookie cookie2("name2", "value2", "/archives/download", "localhost", false);
@@ -425,9 +435,10 @@ void HttpRequestTest::testCreateRequest_with_cookie()
void HttpRequestTest::testCreateProxyRequest()
{
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(0, 1024*1024));
+ SharedHandle<Piece> p(new Piece(0, 1024*1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024*1024, p));
HttpRequest httpRequest;
@@ -456,28 +467,30 @@ void HttpRequestTest::testCreateProxyRequest()
void HttpRequestTest::testIsRangeSatisfied()
{
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
request->setKeepAlive(false);
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(0, 1024*1024));
+ SharedHandle<Piece> p(new Piece(0, 1024*1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024*1024, p));
HttpRequest httpRequest;
httpRequest.setRequest(request);
httpRequest.setSegment(segment);
- SharedHandle<Range> range = new Range(0, 0, 0);
+ SharedHandle<Range> range(new Range());
CPPUNIT_ASSERT(httpRequest.isRangeSatisfied(range));
- segment = new PiecedSegment(1024*1024, new Piece(1, 1024*1024));
+ p.reset(new Piece(1, 1024*1024));
+ segment.reset(new PiecedSegment(1024*1024, p));
httpRequest.setSegment(segment);
CPPUNIT_ASSERT(!httpRequest.isRangeSatisfied(range));
uint64_t entityLength = segment->getSegmentLength()*10;
- range = new Range(segment->getPosition(), 0, entityLength);
+ range.reset(new Range(segment->getPosition(), 0, entityLength));
CPPUNIT_ASSERT(httpRequest.isRangeSatisfied(range));
@@ -493,14 +506,14 @@ void HttpRequestTest::testIsRangeSatisfied()
CPPUNIT_ASSERT(!httpRequest.isRangeSatisfied(range));
- range = new Range(segment->getPosition(),
- segment->getPosition()+segment->getLength()-1,
- entityLength);
+ range.reset(new Range(segment->getPosition(),
+ segment->getPosition()+segment->getLength()-1,
+ entityLength));
CPPUNIT_ASSERT(httpRequest.isRangeSatisfied(range));
- range = new Range(0, segment->getPosition()+segment->getLength()-1,
- entityLength);
+ range.reset(new Range(0, segment->getPosition()+segment->getLength()-1,
+ entityLength));
CPPUNIT_ASSERT(!httpRequest.isRangeSatisfied(range));
}
@@ -509,13 +522,15 @@ void HttpRequestTest::testUserAgent()
{
Option option;
- SharedHandle<AuthConfigFactory> authConfigFactory = new AuthConfigFactory(&option);
+ SharedHandle<AuthConfigFactory> authConfigFactory
+ (new AuthConfigFactory(&option));
SingletonHolder<SharedHandle<AuthConfigFactory> >::instance(authConfigFactory);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
- SharedHandle<Segment> segment = new PiecedSegment(1024, new Piece(0, 1024));
+ SharedHandle<Piece> p(new Piece(0, 1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024, p));
HttpRequest httpRequest;
httpRequest.setRequest(request);
diff --git a/test/HttpResponseTest.cc b/test/HttpResponseTest.cc
index e995749a..44fe44b5 100644
--- a/test/HttpResponseTest.cc
+++ b/test/HttpResponseTest.cc
@@ -73,7 +73,7 @@ void HttpResponseTest::testGetContentLength_contentLength()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Content-Length", "4294967296");
httpResponse.setHttpHeader(httpHeader);
@@ -85,7 +85,7 @@ void HttpResponseTest::testGetEntityLength()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Content-Length", "4294967296");
httpResponse.setHttpHeader(httpHeader);
@@ -101,7 +101,7 @@ void HttpResponseTest::testGetEntityLength()
void HttpResponseTest::testGetContentType()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("content-type", "application/octet-stream");
httpResponse.setHttpHeader(httpHeader);
CPPUNIT_ASSERT_EQUAL(std::string("application/octet-stream"),
@@ -111,9 +111,9 @@ void HttpResponseTest::testGetContentType()
void HttpResponseTest::testDeterminFilename_without_ContentDisposition()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Request> request = new Request();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
httpRequest->setRequest(request);
@@ -127,10 +127,10 @@ void HttpResponseTest::testDeterminFilename_without_ContentDisposition()
void HttpResponseTest::testDeterminFilename_with_ContentDisposition_zero_length()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Content-Disposition", "attachment; filename=\"\"");
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Request> request = new Request();
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
httpRequest->setRequest(request);
@@ -144,10 +144,10 @@ void HttpResponseTest::testDeterminFilename_with_ContentDisposition_zero_length(
void HttpResponseTest::testDeterminFilename_with_ContentDisposition()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Content-Disposition", "attachment; filename=\"aria2-current.tar.bz2\"");
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Request> request = new Request();
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
httpRequest->setRequest(request);
@@ -161,7 +161,7 @@ void HttpResponseTest::testDeterminFilename_with_ContentDisposition()
void HttpResponseTest::testGetRedirectURI_without_Location()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
@@ -172,7 +172,7 @@ void HttpResponseTest::testGetRedirectURI_without_Location()
void HttpResponseTest::testGetRedirectURI_with_Location()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Location", "http://localhost/download/aria2-1.0.0.tar.bz2");
httpResponse.setHttpHeader(httpHeader);
@@ -183,7 +183,7 @@ void HttpResponseTest::testGetRedirectURI_with_Location()
void HttpResponseTest::testIsRedirect()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpHeader->put("Location", "http://localhost/download/aria2-1.0.0.tar.bz2");
httpResponse.setHttpHeader(httpHeader);
@@ -199,7 +199,7 @@ void HttpResponseTest::testIsRedirect()
void HttpResponseTest::testIsTransferEncodingSpecified()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
@@ -213,7 +213,7 @@ void HttpResponseTest::testIsTransferEncodingSpecified()
void HttpResponseTest::testGetTransferEncoding()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
@@ -227,7 +227,7 @@ void HttpResponseTest::testGetTransferEncoding()
void HttpResponseTest::testGetTransferDecoder()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
@@ -261,7 +261,7 @@ void HttpResponseTest::testValidateResponse()
}
httpResponse.setStatus(304);
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
try {
httpResponse.validateResponse();
@@ -283,13 +283,14 @@ void HttpResponseTest::testValidateResponse()
void HttpResponseTest::testValidateResponse_good_range()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(1, 1024*1024));
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Piece> p(new Piece(1, 1024*1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024*1024, p));
httpRequest->setSegment(segment);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
request->setKeepAlive(false);
httpRequest->setRequest(request);
@@ -309,13 +310,14 @@ void HttpResponseTest::testValidateResponse_good_range()
void HttpResponseTest::testValidateResponse_bad_range()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(1, 1024*1024));
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Piece> p(new Piece(1, 1024*1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024*1024, p));
httpRequest->setSegment(segment);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
request->setKeepAlive(false);
httpRequest->setRequest(request);
@@ -334,13 +336,14 @@ void HttpResponseTest::testValidateResponse_bad_range()
void HttpResponseTest::testValidateResponse_chunked()
{
HttpResponse httpResponse;
- SharedHandle<HttpHeader> httpHeader = new HttpHeader();
+ SharedHandle<HttpHeader> httpHeader(new HttpHeader());
httpResponse.setHttpHeader(httpHeader);
- SharedHandle<HttpRequest> httpRequest = new HttpRequest();
- SharedHandle<Segment> segment = new PiecedSegment(1024*1024, new Piece(1, 1024*1024));
+ SharedHandle<HttpRequest> httpRequest(new HttpRequest());
+ SharedHandle<Piece> p(new Piece(1, 1024*1024));
+ SharedHandle<Segment> segment(new PiecedSegment(1024*1024, p));
httpRequest->setSegment(segment);
- SharedHandle<Request> request = new Request();
+ SharedHandle<Request> request(new Request());
request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
request->setKeepAlive(false);
httpRequest->setRequest(request);
diff --git a/test/IteratableChecksumValidatorTest.cc b/test/IteratableChecksumValidatorTest.cc
index 4ce9f58b..2458cc58 100644
--- a/test/IteratableChecksumValidatorTest.cc
+++ b/test/IteratableChecksumValidatorTest.cc
@@ -29,11 +29,11 @@ CPPUNIT_TEST_SUITE_REGISTRATION( IteratableChecksumValidatorTest );
void IteratableChecksumValidatorTest::testValidate() {
Option option;
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setChecksum("898a81b8e0181280ae2ee1b81e269196d91e869a");
dctx->setChecksumHashAlgo("sha1");
- SharedHandle<DefaultPieceStorage> ps = new DefaultPieceStorage(dctx, &option);
+ SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
@@ -48,11 +48,11 @@ void IteratableChecksumValidatorTest::testValidate() {
void IteratableChecksumValidatorTest::testValidate_fail() {
Option option;
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setChecksum(std::string(40, '0')); // set wrong checksum
dctx->setChecksumHashAlgo("sha1");
- SharedHandle<DefaultPieceStorage> ps = new DefaultPieceStorage(dctx, &option);
+ SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
diff --git a/test/IteratableChunkChecksumValidatorTest.cc b/test/IteratableChunkChecksumValidatorTest.cc
index 52e0cc0a..b5bc75b7 100644
--- a/test/IteratableChunkChecksumValidatorTest.cc
+++ b/test/IteratableChunkChecksumValidatorTest.cc
@@ -32,11 +32,12 @@ const char* IteratableChunkChecksumValidatorTest::csArray[] = { "29b0e7878271645
void IteratableChunkChecksumValidatorTest::testValidate() {
Option option;
- SharedHandle<SingleFileDownloadContext> dctx =
- new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(100, 250, "chunkChecksumTestFile250.txt"));
dctx->setPieceHashes(std::deque<std::string>(&csArray[0], &csArray[3]));
dctx->setPieceHashAlgo("sha1");
- SharedHandle<DefaultPieceStorage> ps = new DefaultPieceStorage(dctx, &option);
+ SharedHandle<DefaultPieceStorage> ps
+ (new DefaultPieceStorage(dctx, &option));
ps->initStorage();
ps->getDiskAdaptor()->openFile();
diff --git a/test/MSEHandshakeTest.cc b/test/MSEHandshakeTest.cc
index 4986d76a..349f2341 100644
--- a/test/MSEHandshakeTest.cc
+++ b/test/MSEHandshakeTest.cc
@@ -25,7 +25,7 @@ private:
public:
void setUp()
{
- _btctx = new MockBtContext();
+ _btctx.reset(new MockBtContext());
unsigned char infoHash[20];
memset(infoHash, 0, sizeof(infoHash));
_btctx->setInfoHash(infoHash);
@@ -45,9 +45,10 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION(MSEHandshakeTest);
-static std::pair<SocketCore*, SocketCore*> createSocketPair()
+static std::pair<SharedHandle<SocketCore>,
+ SharedHandle<SocketCore> > createSocketPair()
{
- SocketCore* initiatorSock = new SocketCore();
+ SharedHandle<SocketCore> initiatorSock(new SocketCore());
SocketCore receiverServerSock;
receiverServerSock.bind(0);
@@ -58,10 +59,11 @@ static std::pair<SocketCore*, SocketCore*> createSocketPair()
initiatorSock->establishConnection("127.0.0.1", receiverAddrInfo.second);
initiatorSock->setBlockingMode();
- SocketCore* receiverSock = receiverServerSock.acceptConnection();
+ SharedHandle<SocketCore> receiverSock(receiverServerSock.acceptConnection());
receiverSock->setBlockingMode();
- return std::pair<SocketCore*, SocketCore*>(initiatorSock, receiverSock);
+ return std::pair<SharedHandle<SocketCore>,
+ SharedHandle<SocketCore> >(initiatorSock, receiverSock);
}
void MSEHandshakeTest::doHandshake(const SharedHandle<MSEHandshake>& initiator, const SharedHandle<MSEHandshake>& receiver)
@@ -87,9 +89,11 @@ void MSEHandshakeTest::doHandshake(const SharedHandle<MSEHandshake>& initiator,
while(!initiator->receivePad());
}
-static MSEHandshake* createMSEHandshake(SocketCore* socket, bool initiator, const Option* option)
+static SharedHandle<MSEHandshake>
+createMSEHandshake(SharedHandle<SocketCore> socket, bool initiator,
+ const Option* option)
{
- MSEHandshake* h = new MSEHandshake(1, socket, option);
+ SharedHandle<MSEHandshake> h(new MSEHandshake(1, socket, option));
h->initEncryptionFacility(initiator);
return h;
}
@@ -100,7 +104,8 @@ void MSEHandshakeTest::testHandshake()
Option op;
op.put(PREF_BT_MIN_CRYPTO_LEVEL, V_PLAIN);
- std::pair<SocketCore*, SocketCore*> sockPair = createSocketPair();
+ std::pair<SharedHandle<SocketCore>, SharedHandle<SocketCore> > sockPair =
+ createSocketPair();
SharedHandle<MSEHandshake> initiator = createMSEHandshake(sockPair.first, true, &op);
SharedHandle<MSEHandshake> receiver = createMSEHandshake(sockPair.second, false, &op);
@@ -113,7 +118,8 @@ void MSEHandshakeTest::testHandshake()
Option op;
op.put(PREF_BT_MIN_CRYPTO_LEVEL, V_ARC4);
- std::pair<SocketCore*, SocketCore*> sockPair = createSocketPair();
+ std::pair<SharedHandle<SocketCore>, SharedHandle<SocketCore> > sockPair =
+ createSocketPair();
SharedHandle<MSEHandshake> initiator = createMSEHandshake(sockPair.first, true, &op);
SharedHandle<MSEHandshake> receiver = createMSEHandshake(sockPair.second, false, &op);
diff --git a/test/MessageDigestHelperTest.cc b/test/MessageDigestHelperTest.cc
index 3656518e..3604bf90 100644
--- a/test/MessageDigestHelperTest.cc
+++ b/test/MessageDigestHelperTest.cc
@@ -27,7 +27,7 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION( MessageDigestHelperTest );
void MessageDigestHelperTest::testDigestDiskWriter() {
- SharedHandle<DefaultDiskWriter> diskio = new DefaultDiskWriter();
+ SharedHandle<DefaultDiskWriter> diskio(new DefaultDiskWriter());
diskio->openExistingFile("4096chunk.txt");
CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
MessageDigestHelper::digest("sha1", diskio, 0, 4096));
diff --git a/test/Metalink2RequestGroupTest.cc b/test/Metalink2RequestGroupTest.cc
index ef50293f..8a906163 100644
--- a/test/Metalink2RequestGroupTest.cc
+++ b/test/Metalink2RequestGroupTest.cc
@@ -20,7 +20,7 @@ private:
public:
void setUp()
{
- _option = new Option();
+ _option.reset(new Option());
_option->put(PREF_SPLIT, "1");
}
@@ -42,7 +42,8 @@ void Metalink2RequestGroupTest::testGenerate()
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("ftp://ftphost/aria2-0.5.2.tar.bz2"), uris[0]);
CPPUNIT_ASSERT_EQUAL(std::string("http://httphost/aria2-0.5.2.tar.bz2"), uris[1]);
- SharedHandle<SingleFileDownloadContext> dctx = rg->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(rg->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
CPPUNIT_ASSERT_EQUAL(0ULL, dctx->getTotalLength());
#ifdef ENABLE_MESSAGE_DIGEST
@@ -56,7 +57,8 @@ void Metalink2RequestGroupTest::testGenerate()
SharedHandle<RequestGroup> rg = groups[1];
std::deque<std::string> uris = rg->getUris();
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
- SharedHandle<SingleFileDownloadContext> dctx = rg->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(rg->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
#ifdef ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT_EQUAL(std::string("sha1"), dctx->getPieceHashAlgo());
@@ -75,7 +77,8 @@ void Metalink2RequestGroupTest::testGenerate()
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://host/torrent-http.integrated.torrent"),
uris[0]);
- SharedHandle<SingleFileDownloadContext> dctx = rg->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(rg->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
}
#endif // ENABLE_BITTORRENT
@@ -90,7 +93,8 @@ void Metalink2RequestGroupTest::testGenerate()
std::deque<std::string> uris = rg->getUris();
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL(std::string("http://host/torrent-http.integrated"), uris[0]);
- SharedHandle<SingleFileDownloadContext> dctx = rg->getDownloadContext();
+ SharedHandle<SingleFileDownloadContext> dctx
+ (dynamic_pointer_cast<SingleFileDownloadContext>(rg->getDownloadContext()));
CPPUNIT_ASSERT(!dctx.isNull());
}
}
diff --git a/test/MetalinkEntryTest.cc b/test/MetalinkEntryTest.cc
index d0414611..e483732f 100644
--- a/test/MetalinkEntryTest.cc
+++ b/test/MetalinkEntryTest.cc
@@ -29,29 +29,29 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkEntryTest );
-MetalinkEntry* createTestEntry() {
- MetalinkEntry* entry = new MetalinkEntry();
- MetalinkResource* res1 = new MetalinkResource();
+SharedHandle<MetalinkEntry> createTestEntry() {
+ SharedHandle<MetalinkEntry> entry(new MetalinkEntry());
+ SharedHandle<MetalinkResource> res1(new MetalinkResource());
res1->url = "ftp://myhost/aria2.tar.bz2";
res1->type = MetalinkResource::TYPE_FTP;
res1->location = "RO";
res1->preference = 50;
- MetalinkResource* res2 = new MetalinkResource();
+ SharedHandle<MetalinkResource> res2(new MetalinkResource());
res2->url = "http://myhost/aria2.tar.bz2";
res2->type = MetalinkResource::TYPE_HTTP;
res2->location = "AT";
res2->preference = 100;
- MetalinkResource* res3 = new MetalinkResource();
+ SharedHandle<MetalinkResource> res3(new MetalinkResource());
res3->url = "http://myhost/aria2.torrent";
res3->type = MetalinkResource::TYPE_BITTORRENT;
res3->location = "AL";
res3->preference = 60;
- MetalinkResource* res4 = new MetalinkResource();
+ SharedHandle<MetalinkResource> res4(new MetalinkResource());
res4->url = "http://myhost/aria2.ext";
res4->type = MetalinkResource::TYPE_NOT_SUPPORTED;
res4->location = "AD";
res4->preference = 10;
- MetalinkResource* res5 = new MetalinkResource();
+ SharedHandle<MetalinkResource> res5(new MetalinkResource());
res5->url = "https://myhost/aria2.tar.bz2";
res5->type = MetalinkResource::TYPE_HTTPS;
res5->location = "JP";
@@ -66,7 +66,7 @@ MetalinkEntry* createTestEntry() {
}
void MetalinkEntryTest::testDropUnsupportedResource() {
- MetalinkEntry* entry = createTestEntry();
+ SharedHandle<MetalinkEntry> entry(createTestEntry());
entry->dropUnsupportedResource();
#if defined ENABLE_SSL && ENABLE_BITTORRENT
@@ -91,11 +91,10 @@ void MetalinkEntryTest::testDropUnsupportedResource() {
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_HTTPS,
(*itr++)->type);
#endif // ENABLE_SSL
- delete entry;
}
void MetalinkEntryTest::testReorderResourcesByPreference() {
- MetalinkEntry* entry = createTestEntry();
+ SharedHandle<MetalinkEntry> entry(createTestEntry());
entry->reorderResourcesByPreference();
@@ -104,13 +103,11 @@ void MetalinkEntryTest::testReorderResourcesByPreference() {
CPPUNIT_ASSERT_EQUAL(60, entry->resources.at(2)->preference);
CPPUNIT_ASSERT_EQUAL(50, entry->resources.at(3)->preference);
CPPUNIT_ASSERT_EQUAL(10, entry->resources.at(4)->preference);
-
- delete entry;
}
void MetalinkEntryTest::testSetLocationPreference()
{
- MetalinkEntry* entry = createTestEntry();
+ SharedHandle<MetalinkEntry> entry(createTestEntry());
const char* locationsSrc[] = { "jp", "al", "RO" };
@@ -128,21 +125,17 @@ void MetalinkEntryTest::testSetLocationPreference()
CPPUNIT_ASSERT_EQUAL(10, entry->resources[3]->preference);
CPPUNIT_ASSERT_EQUAL(std::string("JP"), entry->resources[4]->location);
CPPUNIT_ASSERT_EQUAL(190, entry->resources[4]->preference);
-
- delete entry;
}
void MetalinkEntryTest::testSetProtocolPreference()
{
- MetalinkEntry* entry = createTestEntry();
+ SharedHandle<MetalinkEntry> entry(createTestEntry());
entry->setProtocolPreference("http", 1);
CPPUNIT_ASSERT_EQUAL(50, entry->resources[0]->preference); // ftp
CPPUNIT_ASSERT_EQUAL(101, entry->resources[1]->preference); // http, +1
CPPUNIT_ASSERT_EQUAL(60, entry->resources[2]->preference); // bittorrent
CPPUNIT_ASSERT_EQUAL(10, entry->resources[3]->preference); // not supported
CPPUNIT_ASSERT_EQUAL(90, entry->resources[4]->preference); // https
-
- delete entry;
}
} // namespace aria2
diff --git a/test/MetalinkPostDownloadHandlerTest.cc b/test/MetalinkPostDownloadHandlerTest.cc
index 37cc8738..86b71903 100644
--- a/test/MetalinkPostDownloadHandlerTest.cc
+++ b/test/MetalinkPostDownloadHandlerTest.cc
@@ -30,7 +30,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkPostDownloadHandlerTest );
void MetalinkPostDownloadHandlerTest::testCanHandle_extension()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.metalink");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.metalink"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -45,7 +46,8 @@ void MetalinkPostDownloadHandlerTest::testCanHandle_extension()
void MetalinkPostDownloadHandlerTest::testCanHandle_contentType()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test"));
dctx->setContentType("application/metalink+xml");
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
@@ -61,7 +63,8 @@ void MetalinkPostDownloadHandlerTest::testCanHandle_contentType()
void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "test.xml");
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "test.xml"));
RequestGroup rg(&op, std::deque<std::string>());
rg.setDownloadContext(dctx);
rg.initPieceStorage();
diff --git a/test/MetalinkProcessorTest.cc b/test/MetalinkProcessorTest.cc
index a37f7606..45e46c2a 100644
--- a/test/MetalinkProcessorTest.cc
+++ b/test/MetalinkProcessorTest.cc
@@ -64,7 +64,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkProcessorTest );
void MetalinkProcessorTest::testParseFile()
{
- SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
+ SharedHandle<MetalinkProcessor> proc(MetalinkProcessorFactory::newInstance());
try {
SharedHandle<Metalinker> metalinker = proc->parseFile("test.xml");
@@ -155,7 +155,7 @@ void MetalinkProcessorTest::testParseFile()
void MetalinkProcessorTest::testParseFromBinaryStream()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- DefaultDiskWriterHandle dw = new DefaultDiskWriter();
+ DefaultDiskWriterHandle dw(new DefaultDiskWriter());
dw->openExistingFile("test.xml");
try {
@@ -173,7 +173,7 @@ void MetalinkProcessorTest::testParseFromBinaryStream()
void MetalinkProcessorTest::testMalformedXML()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink><files></file></metalink>");
try {
@@ -188,7 +188,7 @@ void MetalinkProcessorTest::testMalformedXML()
void MetalinkProcessorTest::testMalformedXML2()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink><files></files>");
try {
@@ -203,7 +203,7 @@ void MetalinkProcessorTest::testMalformedXML2()
void MetalinkProcessorTest::testBadSize()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2-0.5.2.tar.bz2\">"
@@ -235,7 +235,7 @@ void MetalinkProcessorTest::testBadSize()
void MetalinkProcessorTest::testBadMaxConn()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2-0.5.2.tar.bz2\">"
@@ -263,7 +263,7 @@ void MetalinkProcessorTest::testBadMaxConn()
void MetalinkProcessorTest::testNoName()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file>"
@@ -296,7 +296,7 @@ void MetalinkProcessorTest::testNoName()
void MetalinkProcessorTest::testBadURLPrefs()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2-0.5.2.tar.bz2\">"
@@ -328,7 +328,7 @@ void MetalinkProcessorTest::testBadURLPrefs()
void MetalinkProcessorTest::testBadURLMaxConn()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2-0.5.2.tar.bz2\">"
@@ -361,7 +361,7 @@ void MetalinkProcessorTest::testBadURLMaxConn()
void MetalinkProcessorTest::testUnsupportedType()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2-0.5.2.tar.bz2\">"
@@ -397,7 +397,7 @@ void MetalinkProcessorTest::testUnsupportedType()
void MetalinkProcessorTest::testMultiplePieces()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2.tar.bz2\">"
@@ -430,7 +430,7 @@ void MetalinkProcessorTest::testMultiplePieces()
void MetalinkProcessorTest::testBadPieceNo()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2.tar.bz2\">"
@@ -462,7 +462,7 @@ void MetalinkProcessorTest::testBadPieceNo()
void MetalinkProcessorTest::testBadPieceLength()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2.tar.bz2\">"
@@ -493,7 +493,7 @@ void MetalinkProcessorTest::testBadPieceLength()
void MetalinkProcessorTest::testUnsupportedType_piece()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"aria2.tar.bz2\">"
@@ -525,7 +525,7 @@ void MetalinkProcessorTest::testUnsupportedType_piece()
void MetalinkProcessorTest::testLargeFileSize()
{
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
- SharedHandle<ByteArrayDiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
dw->setString("<metalink>"
"<files>"
"<file name=\"dvd.iso\">"
diff --git a/test/MockBtMessageFactory.h b/test/MockBtMessageFactory.h
index 6fa5233f..c3a82a20 100644
--- a/test/MockBtMessageFactory.h
+++ b/test/MockBtMessageFactory.h
@@ -15,89 +15,89 @@ public:
virtual SharedHandle<BtMessage>
createBtMessage(const unsigned char* msg, size_t msgLength) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
};
- virtual SharedHandle<BtMessage>
+ virtual SharedHandle<BtHandshakeMessage>
createHandshakeMessage(const unsigned char* msg, size_t msgLength) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtHandshakeMessage>();
}
- virtual SharedHandle<BtMessage>
+ virtual SharedHandle<BtHandshakeMessage>
createHandshakeMessage(const unsigned char* infoHash,
const unsigned char* peerId) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtHandshakeMessage>();
}
virtual SharedHandle<BtMessage>
createRequestMessage(const SharedHandle<Piece>& piece, size_t blockIndex) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage>
createCancelMessage(size_t index, uint32_t begin, size_t length) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage>
createPieceMessage(size_t index, uint32_t begin, size_t length) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createHaveMessage(size_t index) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createChokeMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createUnchokeMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createInterestedMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createNotInterestedMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createBitfieldMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createKeepAliveMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createHaveAllMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createHaveNoneMessage() {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage>
createRejectMessage(size_t index, uint32_t begin, size_t length) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createAllowedFastMessage(size_t index) {
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage> createPortMessage(uint16_t port)
{
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
virtual SharedHandle<BtMessage>
createBtExtendedMessage(const SharedHandle<ExtensionMessage>& extmsg)
{
- return SharedHandle<BtMessage>(0);
+ return SharedHandle<BtMessage>();
}
};
diff --git a/test/MockDHTMessageDispatcher.h b/test/MockDHTMessageDispatcher.h
index 5bbb4c39..12513472 100644
--- a/test/MockDHTMessageDispatcher.h
+++ b/test/MockDHTMessageDispatcher.h
@@ -33,14 +33,16 @@ public:
virtual void
addMessageToQueue(const SharedHandle<DHTMessage>& message,
time_t timeout,
- const SharedHandle<DHTMessageCallback>& callback = 0)
+ const SharedHandle<DHTMessageCallback>& callback =
+ SharedHandle<DHTMessageCallback>())
{
_messageQueue.push_back(Entry(message, timeout, callback));
}
virtual void
addMessageToQueue(const SharedHandle<DHTMessage>& message,
- const SharedHandle<DHTMessageCallback>& callback = 0)
+ const SharedHandle<DHTMessageCallback>& callback =
+ SharedHandle<DHTMessageCallback>())
{
_messageQueue.push_back(Entry(message, DHT_MESSAGE_TIMEOUT, callback));
}
diff --git a/test/MockDHTMessageFactory.h b/test/MockDHTMessageFactory.h
index 2c4583e4..f9c4265e 100644
--- a/test/MockDHTMessageFactory.h
+++ b/test/MockDHTMessageFactory.h
@@ -21,7 +21,7 @@ public:
createQueryMessage(const Dictionary* d,
const std::string& ipaddr, uint16_t port)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -29,9 +29,9 @@ public:
const Dictionary* d,
const SharedHandle<DHTNode>& remoteNode)
{
- SharedHandle<MockDHTMessage> m =
- new MockDHTMessage(_localNode, remoteNode,
- reinterpret_cast<const Data*>(d->get("t"))->toString());
+ SharedHandle<MockDHTMessage> m
+ (new MockDHTMessage(_localNode, remoteNode,
+ reinterpret_cast<const Data*>(d->get("t"))->toString()));
m->setReply(true);
return m;
}
@@ -40,7 +40,7 @@ public:
createPingMessage(const SharedHandle<DHTNode>& remoteNode,
const std::string& transactionID = "")
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -48,7 +48,7 @@ public:
const unsigned char* remoteNodeID,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -56,7 +56,7 @@ public:
const unsigned char* targetNodeID,
const std::string& transactionID = "")
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -64,7 +64,7 @@ public:
const std::deque<SharedHandle<DHTNode> >& closestKNodes,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -72,7 +72,7 @@ public:
const unsigned char* infoHash,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -81,7 +81,7 @@ public:
const std::string& token,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
@@ -91,7 +91,7 @@ public:
const std::string& token,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
@@ -101,21 +101,21 @@ public:
const std::string& token,
const std::string& transactionID = "")
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
createAnnouncePeerReplyMessage(const SharedHandle<DHTNode>& remoteNode,
const std::string& transactionID)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
virtual SharedHandle<DHTMessage>
createUnknownMessage(const unsigned char* data, size_t length,
const std::string& ipaddr, uint16_t port)
{
- return 0;
+ return SharedHandle<DHTMessage>();
}
void setLocalNode(const SharedHandle<DHTNode>& node)
diff --git a/test/MockDHTTaskFactory.h b/test/MockDHTTaskFactory.h
index 4e7c1234..85ae29ac 100644
--- a/test/MockDHTTaskFactory.h
+++ b/test/MockDHTTaskFactory.h
@@ -12,39 +12,39 @@ public:
virtual SharedHandle<DHTTask> createPingTask(const SharedHandle<DHTNode>& remoteNode,
size_t numRetry = 0)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createGetIDTask(const SharedHandle<DHTNode>& remoteNode,
size_t numRetry = 0)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createNodeLookupTask(const unsigned char* targetID)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createBucketRefreshTask()
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createPeerLookupTask(const SharedHandle<BtContext>& ctx)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createPeerAnnounceTask(const unsigned char* infoHash)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
virtual SharedHandle<DHTTask> createReplaceNodeTask(const SharedHandle<DHTBucket>& bucket,
const SharedHandle<DHTNode>& newNode)
{
- return 0;
+ return SharedHandle<DHTTask>();
}
};
diff --git a/test/MockExtensionMessageFactory.h b/test/MockExtensionMessageFactory.h
index c87bd5c4..979ef38e 100644
--- a/test/MockExtensionMessageFactory.h
+++ b/test/MockExtensionMessageFactory.h
@@ -13,8 +13,8 @@ public:
virtual SharedHandle<ExtensionMessage> createMessage(const unsigned char* data,
size_t length)
{
- return new MockExtensionMessage("a2_mock", *data, data+1, length-1);
-
+ return SharedHandle<ExtensionMessage>
+ (new MockExtensionMessage("a2_mock", *data, data+1, length-1));
}
};
diff --git a/test/MockPeerStorage.h b/test/MockPeerStorage.h
index 27da9166..8a3aa687 100644
--- a/test/MockPeerStorage.h
+++ b/test/MockPeerStorage.h
@@ -3,6 +3,7 @@
#include "PeerStorage.h"
#include "Peer.h"
+#include <algorithm>
namespace aria2 {
@@ -21,7 +22,7 @@ public:
}
virtual void addPeer(const std::deque<SharedHandle<Peer> >& peers) {
- copy(peers.begin(), peers.end(), back_inserter(this->peers));
+ std::copy(peers.begin(), peers.end(), back_inserter(this->peers));
}
virtual const std::deque<SharedHandle<Peer> >& getPeers() {
@@ -29,7 +30,7 @@ public:
}
virtual SharedHandle<Peer> getUnusedPeer() {
- return 0;
+ return SharedHandle<Peer>();
}
virtual bool isPeerAvailable() {
diff --git a/test/MockPieceStorage.h b/test/MockPieceStorage.h
index 2f5a7434..376135a0 100644
--- a/test/MockPieceStorage.h
+++ b/test/MockPieceStorage.h
@@ -30,7 +30,6 @@ public:
bitfieldMan(0),
selectiveDownloadingMode(false),
endGame(false),
- diskAdaptor(0),
_allDownloadFinished(false) {}
virtual ~MockPieceStorage() {}
@@ -40,21 +39,21 @@ public:
}
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer) {
- return new Piece();
+ return SharedHandle<Piece>(new Piece());
}
virtual SharedHandle<Piece> getMissingFastPiece(const SharedHandle<Peer>& peer) {
- return new Piece();
+ return SharedHandle<Piece>(new Piece());
}
virtual SharedHandle<Piece> getMissingPiece()
{
- return new Piece();
+ return SharedHandle<Piece>(new Piece());
}
virtual SharedHandle<Piece> getMissingPiece(size_t index)
{
- return new Piece();
+ return SharedHandle<Piece>(new Piece());
}
virtual bool isPieceUsed(size_t index)
@@ -67,7 +66,7 @@ public:
virtual void markPiecesDone(uint64_t) {}
virtual SharedHandle<Piece> getPiece(size_t index) {
- return new Piece();
+ return SharedHandle<Piece>(new Piece());
}
virtual void completePiece(const SharedHandle<Piece>& piece) {}
diff --git a/test/MultiDiskAdaptorTest.cc b/test/MultiDiskAdaptorTest.cc
index 63d70e83..dc23c6a9 100644
--- a/test/MultiDiskAdaptorTest.cc
+++ b/test/MultiDiskAdaptorTest.cc
@@ -17,10 +17,8 @@ class MultiDiskAdaptorTest:public CppUnit::TestFixture {
private:
SharedHandle<MultiDiskAdaptor> adaptor;
public:
- MultiDiskAdaptorTest():adaptor(0) {}
-
void setUp() {
- adaptor = new MultiDiskAdaptor();
+ adaptor.reset(new MultiDiskAdaptor());
adaptor->setPieceLength(2);
adaptor->setStoreDir(".");
adaptor->setTopDir(".");
diff --git a/test/MultiFileAllocationIteratorTest.cc b/test/MultiFileAllocationIteratorTest.cc
index 3e2b1106..88736670 100644
--- a/test/MultiFileAllocationIteratorTest.cc
+++ b/test/MultiFileAllocationIteratorTest.cc
@@ -30,16 +30,16 @@ CPPUNIT_TEST_SUITE_REGISTRATION( MultiFileAllocationIteratorTest );
void MultiFileAllocationIteratorTest::testMakeDiskWriterEntries()
{
SharedHandle<FileEntry> fs[] = {
- new FileEntry("file1", 1536, 0),
- new FileEntry("file2", 2048, 1536),
- new FileEntry("file3", 1024, 3584),
- new FileEntry("file4", 1024, 4608),
- new FileEntry("file5", 1024, 5632),
- new FileEntry("file6", 1024, 6656),
- new FileEntry("file7", 256, 7680),
- new FileEntry("file8", 768, 7936),
- new FileEntry("file9", 256, 8704),
- new FileEntry("fileA", 256, 8960),
+ SharedHandle<FileEntry>(new FileEntry("file1", 1536, 0)),
+ SharedHandle<FileEntry>(new FileEntry("file2", 2048, 1536)),
+ SharedHandle<FileEntry>(new FileEntry("file3", 1024, 3584)),
+ SharedHandle<FileEntry>(new FileEntry("file4", 1024, 4608)),
+ SharedHandle<FileEntry>(new FileEntry("file5", 1024, 5632)),
+ SharedHandle<FileEntry>(new FileEntry("file6", 1024, 6656)),
+ SharedHandle<FileEntry>(new FileEntry("file7", 256, 7680)),
+ SharedHandle<FileEntry>(new FileEntry("file8", 768, 7936)),
+ SharedHandle<FileEntry>(new FileEntry("file9", 256, 8704)),
+ SharedHandle<FileEntry>(new FileEntry("fileA", 256, 8960)),
};
fs[1]->setRequested(false);
fs[3]->setRequested(false);
@@ -50,13 +50,14 @@ void MultiFileAllocationIteratorTest::testMakeDiskWriterEntries()
fs[9]->setRequested(false);
std::string storeDir = "/tmp/aria2_MultiFileAllocationIteratorTest_testMakeDiskWriterEntries";
- SharedHandle<MultiDiskAdaptor> diskAdaptor = new MultiDiskAdaptor();
+ SharedHandle<MultiDiskAdaptor> diskAdaptor(new MultiDiskAdaptor());
diskAdaptor->setFileEntries(std::deque<SharedHandle<FileEntry> >(&fs[0], &fs[10]));
diskAdaptor->setPieceLength(1024);
diskAdaptor->setStoreDir(storeDir);
diskAdaptor->openFile();
- SharedHandle<MultiFileAllocationIterator> itr = diskAdaptor->fileAllocationIterator();
+ SharedHandle<MultiFileAllocationIterator> itr
+ (dynamic_pointer_cast<MultiFileAllocationIterator>(diskAdaptor->fileAllocationIterator()));
DiskWriterEntries entries = itr->getDiskWriterEntries();
@@ -90,39 +91,39 @@ void MultiFileAllocationIteratorTest::testAllocate()
int64_t length6 = 30;
try {
- SharedHandle<MultiDiskAdaptor> diskAdaptor = new MultiDiskAdaptor();
+ SharedHandle<MultiDiskAdaptor> diskAdaptor(new MultiDiskAdaptor());
diskAdaptor->setStoreDir(dir);
diskAdaptor->setTopDir(topDir);
int64_t offset = 0;
- SharedHandle<FileEntry> fileEntry1 = new FileEntry(fname1,
- length1,
- offset);
+ SharedHandle<FileEntry> fileEntry1(new FileEntry(fname1,
+ length1,
+ offset));
offset += length1;
- SharedHandle<FileEntry> fileEntry2 = new FileEntry(fname2,
- length2,
- offset);
+ SharedHandle<FileEntry> fileEntry2(new FileEntry(fname2,
+ length2,
+ offset));
offset += length2;
- SharedHandle<FileEntry> fileEntry3 = new FileEntry(fname3,
- length3,
- offset);
+ SharedHandle<FileEntry> fileEntry3(new FileEntry(fname3,
+ length3,
+ offset));
offset += length3;
- SharedHandle<FileEntry> fileEntry4 = new FileEntry(fname4,
- length4,
- offset);
+ SharedHandle<FileEntry> fileEntry4(new FileEntry(fname4,
+ length4,
+ offset));
fileEntry4->setRequested(false);
offset += length4;
- SharedHandle<FileEntry> fileEntry5 = new FileEntry(fname5,
- length5,
- offset);
+ SharedHandle<FileEntry> fileEntry5(new FileEntry(fname5,
+ length5,
+ offset));
offset += length5;
- SharedHandle<FileEntry> fileEntry6 = new FileEntry(fname6,
- length6,
- offset);
+ SharedHandle<FileEntry> fileEntry6(new FileEntry(fname6,
+ length6,
+ offset));
fileEntry6->setRequested(false);
std::deque<SharedHandle<FileEntry> > fs;
@@ -136,7 +137,8 @@ void MultiFileAllocationIteratorTest::testAllocate()
// we have to open file first.
diskAdaptor->initAndOpenFile();
- SharedHandle<MultiFileAllocationIterator> itr = diskAdaptor->fileAllocationIterator();
+ SharedHandle<MultiFileAllocationIterator> itr
+ (dynamic_pointer_cast<MultiFileAllocationIterator>(diskAdaptor->fileAllocationIterator()));
while(!itr->finished()) {
itr->allocateChunk();
}
diff --git a/test/NetrcAuthResolverTest.cc b/test/NetrcAuthResolverTest.cc
index 694871da..2bfae502 100644
--- a/test/NetrcAuthResolverTest.cc
+++ b/test/NetrcAuthResolverTest.cc
@@ -19,14 +19,17 @@ private:
public:
void setUp()
{
- _netrc = new Netrc();
- _netrc->addAuthenticator(new Authenticator("localhost", "name", "passwd", "account"));
- _netrc->addAuthenticator(new DefaultAuthenticator("default", "defaultpasswd", "defaultaccount"));
+ _netrc.reset(new Netrc());
+ _netrc->addAuthenticator
+ (SharedHandle<Authenticator>(new Authenticator("localhost", "name", "passwd", "account")));
+ _netrc->addAuthenticator
+ (SharedHandle<Authenticator>(new DefaultAuthenticator("default", "defaultpasswd", "defaultaccount")));
//_option = new Option();
- _resolver = new NetrcAuthResolver();
+ _resolver.reset(new NetrcAuthResolver());
_resolver->setNetrc(_netrc);
- _resolver->setDefaultAuthConfig(new AuthConfig("foo", "bar"));
+ _resolver->setDefaultAuthConfig
+ (SharedHandle<AuthConfig>(new AuthConfig("foo", "bar")));
}
void testResolveAuthConfig_without_userDefined();
@@ -44,7 +47,7 @@ void NetrcAuthResolverTest::testResolveAuthConfig_without_userDefined()
authConfig = _resolver->resolveAuthConfig("mymachine");
CPPUNIT_ASSERT_EQUAL(std::string("default:defaultpasswd"), authConfig->getAuthText());
- _resolver->setNetrc(0);
+ _resolver->setNetrc(SharedHandle<Netrc>());
authConfig = _resolver->resolveAuthConfig("localhost");
CPPUNIT_ASSERT_EQUAL(std::string("foo:bar"), authConfig->getAuthText());
@@ -52,14 +55,15 @@ void NetrcAuthResolverTest::testResolveAuthConfig_without_userDefined()
void NetrcAuthResolverTest::testResolveAuthConfig_with_userDefined()
{
- _resolver->setUserDefinedAuthConfig(new AuthConfig("myname", "mypasswd"));
+ _resolver->setUserDefinedAuthConfig
+ (SharedHandle<AuthConfig>(new AuthConfig("myname", "mypasswd")));
SharedHandle<AuthConfig> authConfig = _resolver->resolveAuthConfig("localhost");
CPPUNIT_ASSERT_EQUAL(std::string("myname:mypasswd"), authConfig->getAuthText());
authConfig = _resolver->resolveAuthConfig("mymachine");
CPPUNIT_ASSERT_EQUAL(std::string("myname:mypasswd"), authConfig->getAuthText());
- _resolver->setNetrc(0);
+ _resolver->setNetrc(SharedHandle<Netrc>());
authConfig = _resolver->resolveAuthConfig("mymachine");
CPPUNIT_ASSERT_EQUAL(std::string("myname:mypasswd"), authConfig->getAuthText());
}
diff --git a/test/NetrcTest.cc b/test/NetrcTest.cc
index 1bfd8233..0da4bab1 100644
--- a/test/NetrcTest.cc
+++ b/test/NetrcTest.cc
@@ -33,9 +33,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION( NetrcTest );
void NetrcTest::testFindAuthenticator()
{
Netrc netrc;
- netrc.addAuthenticator(new Authenticator("host1", "tujikawa", "tujikawapasswd", "tujikawaaccount"));
- netrc.addAuthenticator(new Authenticator("host2", "aria2", "aria2password", "aria2account"));
- netrc.addAuthenticator(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount"));
+ netrc.addAuthenticator
+ (SharedHandle<Authenticator>(new Authenticator("host1", "tujikawa", "tujikawapasswd", "tujikawaaccount")));
+ netrc.addAuthenticator
+ (SharedHandle<Authenticator>(new Authenticator("host2", "aria2", "aria2password", "aria2account")));
+ netrc.addAuthenticator
+ (SharedHandle<Authenticator>(new DefaultAuthenticator("default", "defaultpassword", "defaultaccount")));
SharedHandle<Authenticator> aria2auth = netrc.findAuthenticator("host2");
CPPUNIT_ASSERT(!aria2auth.isNull());
diff --git a/test/PStringBuildVisitorTest.cc b/test/PStringBuildVisitorTest.cc
index c88ac60e..c2601f26 100644
--- a/test/PStringBuildVisitorTest.cc
+++ b/test/PStringBuildVisitorTest.cc
@@ -30,12 +30,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION( PStringBuildVisitorTest );
void PStringBuildVisitorTest::testVisit_select()
{
- SharedHandle<PStringSegment> segment1 = new PStringSegment("/tango");
+ SharedHandle<PStringSegment> segment1(new PStringSegment("/tango"));
const char* select1data[] = { "alpha", "bravo", "charlie" };
- SharedHandle<PStringSelect> select1 =
- new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1);
+ SharedHandle<PStringSelect> select1
+ (new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1));
PStringBuildVisitor v;
@@ -49,10 +49,11 @@ void PStringBuildVisitorTest::testVisit_select()
void PStringBuildVisitorTest::testVisit_numLoop()
{
- SharedHandle<PStringSegment> segment1 = new PStringSegment("/tango");
+ SharedHandle<PStringSegment> segment1(new PStringSegment("/tango"));
- SharedHandle<PStringNumLoop> loop1 =
- new PStringNumLoop(0, 5, 2, new FixedWidthNumberDecorator(2), segment1);
+ SharedHandle<NumberDecorator> decorator(new FixedWidthNumberDecorator(2));
+ SharedHandle<PStringNumLoop> loop1
+ (new PStringNumLoop(0, 5, 2, decorator, segment1));
PStringBuildVisitor v;
@@ -66,15 +67,16 @@ void PStringBuildVisitorTest::testVisit_numLoop()
void PStringBuildVisitorTest::testVisit_select_numLoop()
{
- SharedHandle<PStringSegment> segment1 = new PStringSegment("/tango");
+ SharedHandle<PStringSegment> segment1(new PStringSegment("/tango"));
const char* select1data[] = { "alpha", "bravo", "charlie" };
- SharedHandle<PStringSelect> select1 =
- new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1);
+ SharedHandle<PStringSelect> select1
+ (new PStringSelect(std::deque<std::string>(&select1data[0], &select1data[3]), segment1));
- SharedHandle<PStringNumLoop> loop1 =
- new PStringNumLoop(0, 5, 2, new FixedWidthNumberDecorator(2), select1);
+ SharedHandle<NumberDecorator> decorator(new FixedWidthNumberDecorator(2));
+ SharedHandle<PStringNumLoop> loop1
+ (new PStringNumLoop(0, 5, 2, decorator, select1));
PStringBuildVisitor v;
diff --git a/test/ParameterizedStringParserTest.cc b/test/ParameterizedStringParserTest.cc
index f89e350f..4d0cd79c 100644
--- a/test/ParameterizedStringParserTest.cc
+++ b/test/ParameterizedStringParserTest.cc
@@ -54,7 +54,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( ParameterizedStringParserTest );
void ParameterizedStringParserTest::testParse_select()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("{alpha, bravo, charlie}");
- SharedHandle<PStringSelect> select = ls;
+ SharedHandle<PStringSelect> select(dynamic_pointer_cast<PStringSelect>(ls));
CPPUNIT_ASSERT(!select.isNull());
std::deque<std::string> values = select->getValues();
@@ -94,7 +94,7 @@ void ParameterizedStringParserTest::testParse_select_missingParen()
void ParameterizedStringParserTest::testParse_segment()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("hello world");
- SharedHandle<PStringSegment> segment = ls;
+ SharedHandle<PStringSegment> segment(dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("hello world"), segment->getValue());
}
@@ -103,19 +103,22 @@ void ParameterizedStringParserTest::testParse_segment_select()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("file:///{alpha, bravo, charlie}/tango");
- SharedHandle<PStringSegment> segment1 = ls;
+ SharedHandle<PStringSegment> segment1
+ (dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment1.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("file:///"), segment1->getValue());
- SharedHandle<PStringSelect> select1 = segment1->getNext();
+ SharedHandle<PStringSelect> select1
+ (dynamic_pointer_cast<PStringSelect>(segment1->getNext()));
CPPUNIT_ASSERT(!select1.isNull());
std::deque<std::string> selectValues = select1->getValues();
CPPUNIT_ASSERT_EQUAL((size_t)3, selectValues.size());
CPPUNIT_ASSERT_EQUAL(std::string("alpha"), selectValues[0]);
CPPUNIT_ASSERT_EQUAL(std::string("bravo"), selectValues[1]);
CPPUNIT_ASSERT_EQUAL(std::string("charlie"), selectValues[2]);
-
- SharedHandle<PStringSegment> segment2 = select1->getNext();
+
+ SharedHandle<PStringSegment> segment2
+ (dynamic_pointer_cast<PStringSegment>(select1->getNext()));
CPPUNIT_ASSERT(!segment2.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/tango"), segment2->getValue());
}
@@ -124,7 +127,7 @@ void ParameterizedStringParserTest::testParse_loop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("[1-10:2]");
- SharedHandle<PStringNumLoop> loop1 = ls;
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(ls));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(10U, loop1->getEndValue());
@@ -187,7 +190,7 @@ void ParameterizedStringParserTest::testParse_alphaLoop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("[a-z:2]");
- SharedHandle<PStringNumLoop> loop1 = ls;
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(ls));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(0U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(25U, loop1->getEndValue());
@@ -224,17 +227,17 @@ void ParameterizedStringParserTest::testParse_segment_loop()
{
SharedHandle<PStringDatum> ls = ParameterizedStringParser().parse("http://server[1-3]/file");
- SharedHandle<PStringSegment> segment1 = ls;
+ SharedHandle<PStringSegment> segment1(dynamic_pointer_cast<PStringSegment>(ls));
CPPUNIT_ASSERT(!segment1.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("http://server"), segment1->getValue());
- SharedHandle<PStringNumLoop> loop1 = segment1->getNext();
+ SharedHandle<PStringNumLoop> loop1(dynamic_pointer_cast<PStringNumLoop>(segment1->getNext()));
CPPUNIT_ASSERT(!loop1.isNull());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStartValue());
CPPUNIT_ASSERT_EQUAL(3U, loop1->getEndValue());
CPPUNIT_ASSERT_EQUAL(1U, loop1->getStep());
- SharedHandle<PStringSegment> segment2 = loop1->getNext();
+ SharedHandle<PStringSegment> segment2(dynamic_pointer_cast<PStringSegment>(loop1->getNext()));
CPPUNIT_ASSERT(!segment2.isNull());
CPPUNIT_ASSERT_EQUAL(std::string("/file"), segment2->getValue());
}
diff --git a/test/PeerTest.cc b/test/PeerTest.cc
index 3e41bb3f..f994cfb6 100644
--- a/test/PeerTest.cc
+++ b/test/PeerTest.cc
@@ -14,10 +14,8 @@ class PeerTest:public CppUnit::TestFixture {
private:
SharedHandle<Peer> peer;
public:
- PeerTest():peer(0) {}
-
void setUp() {
- peer = new Peer("localhost", 6969);
+ peer.reset(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024);
}
diff --git a/test/RequestGroupManTest.cc b/test/RequestGroupManTest.cc
index d59e40a4..5df3f3e7 100644
--- a/test/RequestGroupManTest.cc
+++ b/test/RequestGroupManTest.cc
@@ -21,7 +21,7 @@ private:
public:
void setUp()
{
- SharedHandle<CUIDCounter> counter = new CUIDCounter();
+ SharedHandle<CUIDCounter> counter(new CUIDCounter());
SingletonHolder<SharedHandle<CUIDCounter> >::instance(counter);
}
@@ -38,13 +38,13 @@ void RequestGroupManTest::testIsSameFileBeingDownloaded()
std::deque<std::string> uris;
uris.push_back("http://localhost/aria2.tar.bz2");
- SharedHandle<RequestGroup> rg1 = new RequestGroup(&option, uris);
- SharedHandle<RequestGroup> rg2 = new RequestGroup(&option, uris);
+ SharedHandle<RequestGroup> rg1(new RequestGroup(&option, uris));
+ SharedHandle<RequestGroup> rg2(new RequestGroup(&option, uris));
- SharedHandle<SingleFileDownloadContext> dctx1 =
- new SingleFileDownloadContext(0, 0, "aria2.tar.bz2");
- SharedHandle<SingleFileDownloadContext> dctx2 =
- new SingleFileDownloadContext(0, 0, "aria2.tar.bz2");
+ SharedHandle<SingleFileDownloadContext> dctx1
+ (new SingleFileDownloadContext(0, 0, "aria2.tar.bz2"));
+ SharedHandle<SingleFileDownloadContext> dctx2
+ (new SingleFileDownloadContext(0, 0, "aria2.tar.bz2"));
rg1->setDownloadContext(dctx1);
rg2->setDownloadContext(dctx2);
diff --git a/test/RequestGroupTest.cc b/test/RequestGroupTest.cc
index 90dc3b66..8b6893ed 100644
--- a/test/RequestGroupTest.cc
+++ b/test/RequestGroupTest.cc
@@ -27,9 +27,9 @@ void RequestGroupTest::testRegisterSearchRemove()
{
Option op;
RequestGroup rg(&op, std::deque<std::string>());
- SharedHandle<ServerHost> sv1 = new ServerHost(1, "localhost1");
- SharedHandle<ServerHost> sv2 = new ServerHost(2, "localhost2");
- SharedHandle<ServerHost> sv3 = new ServerHost(3, "localhost3");
+ SharedHandle<ServerHost> sv1(new ServerHost(1, "localhost1"));
+ SharedHandle<ServerHost> sv2(new ServerHost(2, "localhost2"));
+ SharedHandle<ServerHost> sv3(new ServerHost(3, "localhost3"));
rg.registerServerHost(sv3);
rg.registerServerHost(sv1);
diff --git a/test/SegmentManTest.cc b/test/SegmentManTest.cc
index 495d98e5..4a3e63cc 100644
--- a/test/SegmentManTest.cc
+++ b/test/SegmentManTest.cc
@@ -37,8 +37,10 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SegmentManTest );
void SegmentManTest::testNullBitfield()
{
Option op;
- SharedHandle<SingleFileDownloadContext> dctx = new SingleFileDownloadContext(0, 0, "aria2.tar.bz2");
- SharedHandle<UnknownLengthPieceStorage> ps = new UnknownLengthPieceStorage(dctx, &op);
+ SharedHandle<SingleFileDownloadContext> dctx
+ (new SingleFileDownloadContext(0, 0, "aria2.tar.bz2"));
+ SharedHandle<UnknownLengthPieceStorage> ps
+ (new UnknownLengthPieceStorage(dctx, &op));
SegmentMan segmentMan(&op, dctx, ps);
SharedHandle<Segment> segment = segmentMan.getSegment(1);
@@ -60,11 +62,11 @@ void SegmentManTest::testCompleteSegment()
Option op;
size_t pieceLength = 1024*1024;
uint64_t totalLength = 64*1024*1024;
- SharedHandle<MockBtContext> dctx = new MockBtContext();
+ SharedHandle<MockBtContext> dctx(new MockBtContext());
dctx->setPieceLength(pieceLength);
dctx->setTotalLength(totalLength);
dctx->setNumPieces((totalLength+pieceLength-1)/pieceLength);
- SharedHandle<DefaultPieceStorage> ps = new DefaultPieceStorage(dctx, &op);
+ SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &op));
SegmentMan segmentMan(&op, dctx, ps);
diff --git a/test/SegmentTest.cc b/test/SegmentTest.cc
index 4644a648..c3b0818e 100644
--- a/test/SegmentTest.cc
+++ b/test/SegmentTest.cc
@@ -30,7 +30,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SegmentTest );
void SegmentTest::testUpdateWrittenLength()
{
- SharedHandle<Piece> p = new Piece(0, 16*1024*10);
+ SharedHandle<Piece> p(new Piece(0, 16*1024*10));
PiecedSegment s(16*1024*10, p);
CPPUNIT_ASSERT_EQUAL((size_t)0, s.getWrittenLength());
@@ -44,7 +44,7 @@ void SegmentTest::testUpdateWrittenLength()
void SegmentTest::testUpdateWrittenLength_overflow()
{
- SharedHandle<Piece> p = new Piece(0, 16*1024*10);
+ SharedHandle<Piece> p(new Piece(0, 16*1024*10));
PiecedSegment s(16*1024*10, p);
s.updateWrittenLength(16*1024*11);
@@ -54,7 +54,7 @@ void SegmentTest::testUpdateWrittenLength_overflow()
void SegmentTest::testUpdateWrittenLength_lastPiece()
{
- SharedHandle<Piece> p = new Piece(0, 16*1024*9+1);
+ SharedHandle<Piece> p(new Piece(0, 16*1024*9+1));
PiecedSegment s(16*1024*10, p);
s.updateWrittenLength(16*1024*10);
@@ -63,7 +63,7 @@ void SegmentTest::testUpdateWrittenLength_lastPiece()
void SegmentTest::testUpdateWrittenLength_incompleteLastPiece()
{
- SharedHandle<Piece> p = new Piece(0, 16*1024*9+2);
+ SharedHandle<Piece> p(new Piece(0, 16*1024*9+2));
PiecedSegment s(16*1024*10, p);
s.updateWrittenLength(16*1024*9+1);
@@ -74,7 +74,7 @@ void SegmentTest::testUpdateWrittenLength_incompleteLastPiece()
void SegmentTest::testClear()
{
- SharedHandle<Piece> p = new Piece(0, 16*1024*10);
+ SharedHandle<Piece> p(new Piece(0, 16*1024*10));
PiecedSegment s(16*1024*10, p);
s.updateWrittenLength(16*1024*11);
CPPUNIT_ASSERT_EQUAL((size_t)16*1024*10, s.getWrittenLength());
diff --git a/test/SharedHandleTest.cc b/test/SharedHandleTest.cc
index 760e84f8..499d6c9c 100644
--- a/test/SharedHandleTest.cc
+++ b/test/SharedHandleTest.cc
@@ -10,6 +10,7 @@ class SharedHandleTest:public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(SharedHandleTest);
CPPUNIT_TEST(testSharedHandle);
+ CPPUNIT_TEST(testWeakHandle);
CPPUNIT_TEST_SUITE_END();
static SharedHandle<int> staticHandle;
@@ -19,39 +20,63 @@ public:
static SharedHandle<int> getInstance() {
if(staticHandle.isNull()) {
- staticHandle = new int(1);
+ staticHandle.reset(new int(1));
}
return staticHandle;
}
void testSharedHandle();
+ void testWeakHandle();
};
-SharedHandle<int> SharedHandleTest::staticHandle = 0;
+SharedHandle<int> SharedHandleTest::staticHandle;
CPPUNIT_TEST_SUITE_REGISTRATION( SharedHandleTest );
void SharedHandleTest::testSharedHandle() {
- std::cerr << "xh:" << std::endl;
- SharedHandle<int> xh = new int(1);
+ std::cout << "xh:" << std::endl;
+ SharedHandle<int> xh(new int(1));
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, xh.getRefCount()->totalRefCount);
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, xh.getRefCount()->strongRefCount);
+ CPPUNIT_ASSERT_EQUAL((size_t)1, xh.getRefCount());
- std::cerr << "nullHandle:" << std::endl;
- SharedHandle<int> nullHandle = 0;
+ std::cout << "nullHandle:" << std::endl;
+ SharedHandle<int> nullHandle;
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, nullHandle.getRefCount()->totalRefCount);
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, nullHandle.getRefCount()->strongRefCount);
+ CPPUNIT_ASSERT_EQUAL((size_t)1, nullHandle.getRefCount());
- std::cerr << "staticHandle:" << std::endl;
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, staticHandle.getRefCount()->totalRefCount);
- CPPUNIT_ASSERT_EQUAL((unsigned int)1, staticHandle.getRefCount()->strongRefCount);
+ std::cout << "staticHandle:" << std::endl;
+ CPPUNIT_ASSERT_EQUAL((size_t)1, staticHandle.getRefCount());
SharedHandle<int> localStaticHandle = getInstance();
- CPPUNIT_ASSERT_EQUAL((unsigned int)2, localStaticHandle.getRefCount()->totalRefCount);
- CPPUNIT_ASSERT_EQUAL((unsigned int)2, localStaticHandle.getRefCount()->strongRefCount);
+ CPPUNIT_ASSERT_EQUAL((size_t)2, localStaticHandle.getRefCount());
+}
+
+void SharedHandleTest::testWeakHandle()
+{
+ SharedHandle<int> x;
+ x.reset(new int(1));
+
+ WeakHandle<int> y = x;
+
+ WeakHandle<int> z;
+ z = y;
+
+ std::cout << "z.getRefCount() = " << z.getRefCount() << std::endl;
+ y.reset();
+ z.reset();
+
+ std::cout << "z.getRefCount() = " << z.getRefCount() << std::endl;
+
+ std::cout << "x.getRefCount() = " << x.getRefCount() << std::endl;
+
+ SharedHandle<int> w;
+
+ x = w;
+
+ std::cout << "w.getRefCount() = " << w.getRefCount() << std::endl;
+ std::cout << "x.getRefCount() = " << x.getRefCount() << std::endl;
+
}
} // namespace aria2
diff --git a/test/SingletonHolderTest.cc b/test/SingletonHolderTest.cc
index a8e7bd18..40ddfed6 100644
--- a/test/SingletonHolderTest.cc
+++ b/test/SingletonHolderTest.cc
@@ -40,7 +40,7 @@ typedef SharedHandle<int> IntHandle;
void SingletonHolderTest::testInstance()
{
- MHandle m = new M("Hello world.");
+ MHandle m(new M("Hello world."));
SingletonHolder<MHandle>::instance(m);
std::cerr << SingletonHolder<MHandle>::instance()->greeting() << std::endl;
@@ -49,7 +49,7 @@ void SingletonHolderTest::testInstance()
std::cerr << SingletonHolder<MHandle>::instance()->greeting() << std::endl;
- IntHandle i = new int(100);
+ IntHandle i(new int(100));
SingletonHolder<IntHandle>::instance(i);
std::cerr << SingletonHolder<IntHandle>::instance() << std::endl;
diff --git a/test/TagContainerTest.cc b/test/TagContainerTest.cc
index 98bb43d8..666b56d5 100644
--- a/test/TagContainerTest.cc
+++ b/test/TagContainerTest.cc
@@ -24,9 +24,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION(TagContainerTest);
void TagContainerTest::testSearch()
{
TaggedItemHandle items[] = {
- new TaggedItem("alpha"),
- new TaggedItem("bravo"),
- new TaggedItem("charlie"),
+ SharedHandle<TaggedItem>(new TaggedItem("alpha")),
+ SharedHandle<TaggedItem>(new TaggedItem("bravo")),
+ SharedHandle<TaggedItem>(new TaggedItem("charlie"))
};
items[0]->addTag("foo");
items[1]->addTag("foo");
@@ -52,10 +52,10 @@ void TagContainerTest::testSearch()
void TagContainerTest::testNameMatch()
{
TaggedItemHandle items[] = {
- new TaggedItem("alpha"),
- new TaggedItem("bravo"),
- new TaggedItem("charlie"),
- new TaggedItem("bravo")
+ SharedHandle<TaggedItem>(new TaggedItem("alpha")),
+ SharedHandle<TaggedItem>(new TaggedItem("bravo")),
+ SharedHandle<TaggedItem>(new TaggedItem("charlie")),
+ SharedHandle<TaggedItem>(new TaggedItem("bravo"))
};
items[1]->addTag("foo");
TagContainer tc(TaggedItems(&items[0], &items[3]));
diff --git a/test/UTPexExtensionMessageTest.cc b/test/UTPexExtensionMessageTest.cc
index aa8e2cc5..ff6135e0 100644
--- a/test/UTPexExtensionMessageTest.cc
+++ b/test/UTPexExtensionMessageTest.cc
@@ -26,17 +26,15 @@ class UTPexExtensionMessageTest:public CppUnit::TestFixture {
private:
SharedHandle<MockBtContext> _btContext;
public:
- UTPexExtensionMessageTest():_btContext(0) {}
-
void setUp()
{
BtRegistry::unregisterAll();
- SharedHandle<MockBtContext> btContext = new MockBtContext();
+ SharedHandle<MockBtContext> btContext(new MockBtContext());
unsigned char infohash[20];
memset(infohash, 0, sizeof(infohash));
btContext->setInfoHash(infohash);
_btContext = btContext;
- SharedHandle<MockPeerStorage> peerStorage = new MockPeerStorage();
+ SharedHandle<MockPeerStorage> peerStorage(new MockPeerStorage());
BtRegistry::registerPeerStorage(_btContext->getInfoHashAsString(),
peerStorage);
}
@@ -72,15 +70,15 @@ void UTPexExtensionMessageTest::testGetExtensionName()
void UTPexExtensionMessageTest::testGetBencodedData()
{
UTPexExtensionMessage msg(1);
- SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881);
+ SharedHandle<Peer> p1(new Peer("192.168.0.1", 6881));
p1->allocateSessionResource(256*1024, 1024*1024);
p1->setAllBitfield();
msg.addFreshPeer(p1);// added seeder, check add.f flag
- SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999);
+ SharedHandle<Peer> p2(new Peer("10.1.1.2", 9999));
msg.addFreshPeer(p2);
- SharedHandle<Peer> p3 = new Peer("192.168.0.2", 6882);
+ SharedHandle<Peer> p3(new Peer("192.168.0.2", 6882));
msg.addDroppedPeer(p3);
- SharedHandle<Peer> p4 = new Peer("10.1.1.3", 10000);
+ SharedHandle<Peer> p4(new Peer("10.1.1.3", 10000));
msg.addDroppedPeer(p4);
unsigned char c1[6];
@@ -105,15 +103,15 @@ void UTPexExtensionMessageTest::testGetBencodedData()
void UTPexExtensionMessageTest::testToString()
{
UTPexExtensionMessage msg(1);
- SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881);
+ SharedHandle<Peer> p1(new Peer("192.168.0.1", 6881));
p1->allocateSessionResource(256*1024, 1024*1024);
p1->setAllBitfield();
msg.addFreshPeer(p1);// added seeder, check add.f flag
- SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999);
+ SharedHandle<Peer> p2(new Peer("10.1.1.2", 9999));
msg.addFreshPeer(p2);
- SharedHandle<Peer> p3 = new Peer("192.168.0.2", 6882);
+ SharedHandle<Peer> p3(new Peer("192.168.0.2", 6882));
msg.addDroppedPeer(p3);
- SharedHandle<Peer> p4 = new Peer("10.1.1.3", 10000);
+ SharedHandle<Peer> p4(new Peer("10.1.1.3", 10000));
msg.addDroppedPeer(p4);
CPPUNIT_ASSERT_EQUAL(std::string("ut_pex added=2, dropped=2"), msg.toString());
}
@@ -121,15 +119,15 @@ void UTPexExtensionMessageTest::testToString()
void UTPexExtensionMessageTest::testDoReceivedAction()
{
UTPexExtensionMessage msg(1);
- SharedHandle<Peer> p1 = new Peer("192.168.0.1", 6881);
+ SharedHandle<Peer> p1(new Peer("192.168.0.1", 6881));
p1->allocateSessionResource(256*1024, 1024*1024);
p1->setAllBitfield();
msg.addFreshPeer(p1);// added seeder, check add.f flag
- SharedHandle<Peer> p2 = new Peer("10.1.1.2", 9999);
+ SharedHandle<Peer> p2(new Peer("10.1.1.2", 9999));
msg.addFreshPeer(p2);
- SharedHandle<Peer> p3 = new Peer("192.168.0.2", 6882);
+ SharedHandle<Peer> p3(new Peer("192.168.0.2", 6882));
msg.addDroppedPeer(p3);
- SharedHandle<Peer> p4 = new Peer("10.1.1.3", 10000);
+ SharedHandle<Peer> p4(new Peer("10.1.1.3", 10000));
msg.addDroppedPeer(p4);
msg.setBtContext(_btContext);
diff --git a/test/UtilTest.cc b/test/UtilTest.cc
index 8e760375..a370b759 100644
--- a/test/UtilTest.cc
+++ b/test/UtilTest.cc
@@ -269,7 +269,8 @@ public:
};
void UtilTest::testRandomAlpha() {
- std::string s = Util::randomAlpha(8, new FixedNumberRandomizer());
+ SharedHandle<Randomizer> rand(new FixedNumberRandomizer());
+ std::string s = Util::randomAlpha(8, rand);
CPPUNIT_ASSERT_EQUAL(std::string("AAAAAAAA"), s);
}
@@ -368,8 +369,8 @@ void UtilTest::testAbbrevSize()
void UtilTest::testToStream()
{
std::ostringstream os;
- SharedHandle<FileEntry> f1 = new FileEntry("aria2.tar.bz2", 12300, 0);
- SharedHandle<FileEntry> f2 = new FileEntry("aria2.txt", 556, 0);
+ SharedHandle<FileEntry> f1(new FileEntry("aria2.tar.bz2", 12300, 0));
+ SharedHandle<FileEntry> f2(new FileEntry("aria2.txt", 556, 0));
std::deque<SharedHandle<FileEntry> > entries;
entries.push_back(f1);
entries.push_back(f2);
@@ -636,7 +637,7 @@ void UtilTest::testParseULLInt()
void UtilTest::testToString_binaryStream()
{
- SharedHandle<DiskWriter> dw = new ByteArrayDiskWriter();
+ SharedHandle<DiskWriter> dw(new ByteArrayDiskWriter());
std::string data(16*1024+256, 'a');
dw->initAndOpenFile("dummy");
dw->writeData((const unsigned char*)data.c_str(), data.size(), 0);
diff --git a/test/a2functionalTest.cc b/test/a2functionalTest.cc
index 155ae4bb..36b4564c 100644
--- a/test/a2functionalTest.cc
+++ b/test/a2functionalTest.cc
@@ -47,7 +47,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(a2functionalTest);
void a2functionalTest::testMemFunSh()
{
- GreetingHandle greeting = new JapaneseGreeting();
+ GreetingHandle greeting(new JapaneseGreeting());
CPPUNIT_ASSERT_EQUAL(std::string("HAROO WAARUDO"), mem_fun_sh(&Greeting::sayGreeting)(greeting));
@@ -57,7 +57,7 @@ void a2functionalTest::testMemFunSh()
void a2functionalTest::testAdopt2nd()
{
- GreetingHandle greeting = new JapaneseGreeting();
+ GreetingHandle greeting(new JapaneseGreeting());
CPPUNIT_ASSERT_EQUAL(std::string("A Japanese said:HAROO WAARUDO"),
adopt2nd(std::plus<std::string>(), mem_fun_sh(&Greeting::sayGreeting))("A Japanese said:", greeting));