diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-11-08 16:25:38 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-11-08 16:25:38 +0000 |
| commit | 8d0ef717e1c1fa2afa30d68c378f7c1a38452952 (patch) | |
| tree | 9bda43045fe76e1d7dc4818c533a6156233abda3 /test/MetalinkerTest.cc | |
| parent | 45463f935fe6ee551a436988dacdeddae020b2f1 (diff) | |
2006-11-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To add Metalink location option:
* src/MetalinkRequestInfo.cc
(execute): Call MetalinkEntry::setLocationPreference()
* src/main.cc
(showUsage): Added the help message for --metalink-location
option.
(main): Added --metalink-location option.
* src/prefs.h
(PREF_METALINK_LOCATION): New definition.
* src/MetalinkEntry.cc
(AddLocationPreference): New function object.
(setLocationPreference): New function.
* src/Xml2MetalinkProcessor.cc
(getResource): Set location attribute to MetalinkResource
To show URLs to download
* src/UrlRequestInfo.h
(printUrls): New function.
To add multiple <file> Metalink support:
* src/MetalinkEntry.h
(MetalinkResources): Removed.
(setLocationPreference): New function.
(MetalinkEntryHandle): New type definition.
(MetalinkEntries): New type definition.
* src/Xml2MetalinkProcessor.h
(getEntry): MetalinkEntry* -> MetalinkEntryHandle
(getResource): MetalinkResource* -> MetalinkResourceHandle
(parseFile): Metalinker* -> MetalinkerHandle
* src/UrlRequestInfo.h
(execute): RequestInfo* -> RequestInfos
* src/MetalinkRequestInfo.cc
(AccumulateNonP2PUrl): MetalinkResource* ->
MetalinkResourceHandle
(FindBitTorrentUrl): MetalinkResource* -> MetalinkResourceHandle
(execute): RequestInfo* -> RequestInfos
Added multiple <file> support. Print filename when it is queued.
* src/MetalinkRequestInfo.h
(execute): RequestInfo* -> RequestInfos
(getDownloadEngine): Removed.
* src/RequestInfo.h
(RequestInfoHandle): New type definition.
(RequestInfos): New type definition.
(execute): RequestInfo* -> RequestInfos
(getDownloadEngine): Removed.
* src/MetalinkResource.h
(MetalinkResourceHandle): New type definition.
(MetalinkResources): New type definition.
* src/MetalinkEntry.cc
(~MetalinkEntry): Removed the deletion of the elements of
resources,
because the element is now of type MetalinkResourceHandle.
(PrefOrder): MetalinkResource* -> MetalinkResourceHandle
(Supported): MetalinkResource* -> MetalinkResourceHandle
(dropUnsupportedResource): Removed the deletion of the elements
of
resources because the element is now of type
MetalinkResourceHandle.
* src/Xml2MetalinkProcessor.cc
(parseFile): Metalinker* -> MetalinkerHandle
MetalinkEntry* -> MetalinkEntryHandle
Removed try-catch block.
(getEntry): MetalinkEntry* -> MetalinkEntryHandle
MetalinkResource* -> MetalinkResourceHandle
Removed try-catch block.
(getResource): MetalinkResource* -> MetalinkResourceHandle
Free result by using xmlXPathFreeObject()
* src/Metalinker.cc
(~Metalinker): Removed the deletion of entries.
MetalinkEntry* -> MetalinkEntryHandle
(queryEntry): Add multiple <file> Metalink support.
* src/Metalinker.h
(MetalinkEntries): Removed.
(queryEntry): MetalinkEntry* -> MetalinkEntries
* src/MetalinkProcessor.h
(parseFile): Metalinker* -> MetalinkerHandle
Bug fixes:
* src/PeerChokeCommand.cc
(execute): cat01->cat02
* src/DefaultPieceStorage.cc
(DefaultPieceStorage): Added diskAdaptor(0)
* src/TrackerWatcherComand.cc:
(execute): Use btAnnounce->noMoreAnnounce()
to determin whether the function returns true or not.
* src/TrackerUpdateCommand.cc:
(execute): Use btAnnounce->noMoreAnnounce()
to determin whether the function returns true or not.
* src/FtpConnection.cc
(bulkReceiveResponse): Throw DlRetryEx if EOF got.
This is the fix of the busy loop bug.
* src/DownloadCommand.cc
(DownloadCommand): Reuse PeerStat. segmentMan->getPeerStat()
returns
cached PeerStat.
The value of "name" entry in torrent file is now set by
*DiskAdaptor::setTopDir(...) methods.
* src/MultiDiskAdaptor.h
(topDir): New variable.
(setTopDir): New function.
(getTopDir): New function.
* src/MultiDiskAdaptor.cc
(getFilePath): Concat storDir, "/" and topDir.
(mkdir): Use getFilePath() to get the directory path for output.
* src/DefaultPieceStorage.cc
(initStorage): Set the value of "name" entry to
MultiDiskAdaptor,
CopyDiskAdaptor.
* src/CopyDiskAdaptor.h
(topDir): New variable.
(setTopDir): New function.
(getTopDir): New function.
* src/CopyDiskAdaptor.cc
(fixFilename): Updated.
Misc
* src/UrlRequestInfo.h
(e): Removed.
(UrlRequestInfo): Removed e.
(getDownloadEngine): Removed.
* src/UrlRequestInfo.cc
(handler): Rewritten.
(printUrls): New function.
(execute): Call printUrls().
* src/HandshakeMessage.cc
(check): peerinteraction->getBtContext() -> btContext
* src/PeerInteraction.h
(getBtContext): Removed.
* src/TorrentRequestInfo.h
(execute): RequestInfo* -> RequestInfos
(getDownloadEngine): Removed.
* src/TorrentRequestInfo.cc
(haltRequested): Removed.
(btHaltRequested): New variable.
(torrentHandler): haltRequested -> btHaltRequested
(execute): RequestInfo* -> RequestInfos
* src/TorrentConsoleDownloadEngine.cc
(afterEachIteration): haltRequested -> btHaltRequested.
* src/ConsoleDownloadEngine.h
(initStatistics): Added virtual.
(calculateStatistics): Added virtual.
(onEndOfRun): Added virtual.
(afterEachIteration): Added virtual.
* src/ConsoleDownloadEngine.cc
(haltRequested): New variable.
(afterEachIteration): New function.
* src/main.cc
(requestInfo): Removed.
* src/SegmentMan.cc
(findSlowerSegmentEntry): Refactored.
Diffstat (limited to 'test/MetalinkerTest.cc')
| -rw-r--r-- | test/MetalinkerTest.cc | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/test/MetalinkerTest.cc b/test/MetalinkerTest.cc index 897b3cea..282d5847 100644 --- a/test/MetalinkerTest.cc +++ b/test/MetalinkerTest.cc @@ -23,12 +23,12 @@ public: CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkerTest ); void MetalinkerTest::testQueryEntry() { - Metalinker* metalinker = new Metalinker(); - MetalinkEntry* entry1 = new MetalinkEntry(); + MetalinkerHandle metalinker(new Metalinker()); + MetalinkEntryHandle entry1(new MetalinkEntry()); entry1->version = "0.5.2"; entry1->language = "en-US"; entry1->os = "Linux-x86"; - MetalinkEntry* entry2 = new MetalinkEntry(); + MetalinkEntryHandle entry2(new MetalinkEntry()); entry2->version = "0.5.1"; entry2->language = "ja-JP"; entry2->os = "Linux-m68k"; @@ -42,25 +42,26 @@ void MetalinkerTest::testQueryEntry() { version = "0.5.1"; language = "ja-JP"; os = "Linux-m68k"; - MetalinkEntry* entry = metalinker->queryEntry(version, - language, - os); - CPPUNIT_ASSERT_EQUAL(string("0.5.1"), entry->version); - CPPUNIT_ASSERT_EQUAL(string("ja-JP"), entry->language); - CPPUNIT_ASSERT_EQUAL(string("Linux-m68k"), entry->os); + MetalinkEntries entries = metalinker->queryEntry(version, + language, + os); + CPPUNIT_ASSERT_EQUAL((size_t)1, entries.size()); + CPPUNIT_ASSERT_EQUAL(string("0.5.1"), entries.at(0)->version); + CPPUNIT_ASSERT_EQUAL(string("ja-JP"), entries.at(0)->language); + CPPUNIT_ASSERT_EQUAL(string("Linux-m68k"), entries.at(0)->os); version = "0.6.0"; language = ""; os = ""; - CPPUNIT_ASSERT(!metalinker->queryEntry(version, language, os)); + CPPUNIT_ASSERT_EQUAL((size_t)0, + metalinker->queryEntry(version, language, os).size()); version = "0.5.2"; language = ""; os = ""; - entry = metalinker->queryEntry(version, language, os); - CPPUNIT_ASSERT_EQUAL(string("0.5.2"), entry->version); - CPPUNIT_ASSERT_EQUAL(string("en-US"), entry->language); - CPPUNIT_ASSERT_EQUAL(string("Linux-x86"), entry->os); - - delete metalinker; + entries = metalinker->queryEntry(version, language, os); + CPPUNIT_ASSERT_EQUAL((size_t)1, entries.size()); + CPPUNIT_ASSERT_EQUAL(string("0.5.2"), entries.at(0)->version); + CPPUNIT_ASSERT_EQUAL(string("en-US"), entries.at(0)->language); + CPPUNIT_ASSERT_EQUAL(string("Linux-x86"), entries.at(0)->os); } |
