diff --git a/ChangeLog b/ChangeLog index 90ee6313..6e6a5892 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2007-11-14 Tatsuhiro Tsujikawa + + Added ifdef and some modifications to compile without BitTorrent, + Metalink, MessageDigest + support. + * src/PieceHashCheckIntegrityEntry.cc + * src/MetalinkEntry.h + * src/version_usage.cc + * src/main.cc + * src/DownloadEngine.{h, cc} + * src/Metalink2RequestGroup.cc + * src/Peer.cc + * src/RequestGroup.cc + * src/MetalinkHelper.cc + * test/DefaultPieceStorageTest.cc + * test/MetalinkPostDownloadHandlerTest.cc + * test/Metalink2RequestGroupTest.cc + + Hide TOTAL SPD when all downloads complete. + * src/ConsoleStatCalc.cc + + Log target system information. + * src/main.cc + 2007-11-13 Tatsuhiro Tsujikawa Now --metalink-location accepts a comma-deliminated list of locations. diff --git a/TODO b/TODO index f6c8a6a7..c31e36d4 100644 --- a/TODO +++ b/TODO @@ -58,4 +58,3 @@ -- remaining issues to be implemented for 0.12.0 release * Update man page * Update translation -* Test configuration(without torrent/messagedigest/ssh etc) diff --git a/config.h.in b/config.h.in index 020ad391..e5d02243 100644 --- a/config.h.in +++ b/config.h.in @@ -415,6 +415,9 @@ /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS +/* Define target-type */ +#undef TARGET + /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME diff --git a/configure b/configure index 583f6a51..7bce3a57 100755 --- a/configure +++ b/configure @@ -2598,6 +2598,12 @@ case "$target" in ;; esac + +cat >>confdefs.h <<_ACEOF +#define TARGET "$target" +_ACEOF + + # Set localedir localedir=${datadir}/locale @@ -5832,6 +5838,7 @@ else fi else + enable_bittorrent=no if false; then @@ -5861,6 +5868,7 @@ else fi else + enable_metalink=no if false; then diff --git a/configure.ac b/configure.ac index e8b26c77..36431f3d 100644 --- a/configure.ac +++ b/configure.ac @@ -17,6 +17,8 @@ case "$target" in ;; esac +AC_DEFINE_UNQUOTED([TARGET], ["$target"], [Define target-type]) + # Set localedir localedir=${datadir}/locale AC_SUBST(localedir) @@ -91,6 +93,7 @@ if test "x$enable_bittorrent" = "xyes" && test "x$enable_message_digest" = "xyes AC_DEFINE([ENABLE_BITTORRENT], [1], [Define to 1 if BitTorrent support is enabled.]) AM_CONDITIONAL([ENABLE_BITTORRENT], true) else + enable_bittorrent=no AM_CONDITIONAL([ENABLE_BITTORRENT], false) fi @@ -98,6 +101,7 @@ if test "x$have_libxml2" = "xyes" && test "x$enable_metalink" = "xyes"; then AC_DEFINE([ENABLE_METALINK], [1], [Define to 1 if Metalink support is enabled.]) AM_CONDITIONAL([ENABLE_METALINK], true) else + enable_metalink=no AM_CONDITIONAL([ENABLE_METALINK], false) fi diff --git a/src/ConsoleStatCalc.cc b/src/ConsoleStatCalc.cc index 5d3c9bf5..77c1257a 100644 --- a/src/ConsoleStatCalc.cc +++ b/src/ConsoleStatCalc.cc @@ -116,7 +116,8 @@ ConsoleStatCalc::calculateStat(const RequestGroupManHandle& requestGroupMan, } } - if(requestGroupMan->countRequestGroup() > 1) { + if(requestGroupMan->countRequestGroup() > 1 && + !requestGroupMan->downloadFinished()) { TransferStat stat = requestGroupMan->calculateStat(); cout << " " << "[TOTAL SPD:" diff --git a/src/DownloadEngine.cc b/src/DownloadEngine.cc index 548b2d57..d470d3ad 100644 --- a/src/DownloadEngine.cc +++ b/src/DownloadEngine.cc @@ -39,9 +39,7 @@ #include "RequestGroup.h" #include "RequestGroupMan.h" #include "FileAllocationMan.h" -#ifdef ENABLE_MESSAGE_DIGEST #include "CheckIntegrityMan.h" -#endif // ENABLE_MESSAGE_DIGEST #include "Util.h" #include "LogFactory.h" #include "TimeA2.h" @@ -84,11 +82,8 @@ DownloadEngine::DownloadEngine():logger(LogFactory::getInstance()), _haltRequested(false), noWait(false), _requestGroupMan(0), - _fileAllocationMan(0) -#ifdef ENABLE_MESSAGE_DIGEST - , + _fileAllocationMan(0), _checkIntegrityMan(0) -#endif // ENABLE_MESSAGE_DIGEST {} DownloadEngine::~DownloadEngine() { diff --git a/src/DownloadEngine.h b/src/DownloadEngine.h index a1486b66..17a0c09c 100644 --- a/src/DownloadEngine.h +++ b/src/DownloadEngine.h @@ -51,10 +51,8 @@ class FileAllocationMan; extern typedef SharedHandle FileAllocationManHandle; class StatCalc; extern typedef SharedHandle StatCalcHandle; -#ifdef ENABLE_MESSAGE_DIGEST class CheckIntegrityMan; extern typedef SharedHandle CheckIntegrityManHandle; -#endif // ENABLE_MESSAGE_DIGEST class SocketEntry { public: @@ -128,9 +126,7 @@ public: Commands commands; RequestGroupManHandle _requestGroupMan; FileAllocationManHandle _fileAllocationMan; -#ifdef ENABLE_MESSAGE_DIGEST CheckIntegrityManHandle _checkIntegrityMan; -#endif // ENABLE_MESSAGE_DIGEST const Option* option; DownloadEngine(); diff --git a/src/Makefile.am b/src/Makefile.am index f464b5c3..215db699 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -113,6 +113,8 @@ SRCS = Socket.h\ AlphaNumberDecorator.h\ TimeBasedCommand.cc TimeBasedCommand.h\ AutoSaveCommand.cc AutoSaveCommand.h\ + PieceStorage.h\ + DefaultPieceStorage.cc DefaultPieceStorage.h\ UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h\ StatCalc.h\ ConsoleStatCalc.cc ConsoleStatCalc.h\ @@ -125,19 +127,28 @@ SRCS = Socket.h\ SingleFileAllocationIterator.cc SingleFileAllocationIterator.h\ PostDownloadHandler.cc PostDownloadHandler.h\ HaveEraseCommand.cc HaveEraseCommand.h\ - Piece.cc Piece.h + Piece.cc Piece.h\ + CheckIntegrityMan.cc CheckIntegrityMan.h\ + CheckIntegrityEntry.cc CheckIntegrityEntry.h\ + PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\ + StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\ + IteratableValidator.h\ + DiskAdaptor.cc DiskAdaptor.h\ + AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\ + CopyDiskAdaptor.cc CopyDiskAdaptor.h\ + DirectDiskAdaptor.cc DirectDiskAdaptor.h\ + MultiDiskAdaptor.cc MultiDiskAdaptor.h\ + Peer.cc Peer.h\ + BtRegistry.cc BtRegistry.h\ + MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\ + PeerConnection.cc PeerConnection.h # debug_new.cpp if ENABLE_MESSAGE_DIGEST SRCS += IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\ IteratableChecksumValidator.cc IteratableChecksumValidator.h\ - IteratableValidator.h\ CheckIntegrityCommand.cc CheckIntegrityCommand.h\ - CheckIntegrityEntry.cc CheckIntegrityEntry.h\ - PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\ - StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\ ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\ - CheckIntegrityMan.cc CheckIntegrityMan.h\ messageDigest.cc messageDigest.h\ MessageDigestHelper.cc MessageDigestHelper.h endif # ENABLE_MESSAGE_DIGEST @@ -150,7 +161,6 @@ SRCS += MetaEntry.h\ MetaFileUtil.cc MetaFileUtil.h\ MetaEntryVisitor.h\ ShaVisitor.cc ShaVisitor.h\ - PeerConnection.cc PeerConnection.h\ PeerMessageUtil.cc PeerMessageUtil.h\ PeerAbstractCommand.cc PeerAbstractCommand.h\ PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\ @@ -160,11 +170,6 @@ SRCS += MetaEntry.h\ RequestSlot.cc RequestSlot.h\ Directory.cc Directory.h\ TrackerWatcherCommand.cc TrackerWatcherCommand.h\ - DiskAdaptor.cc DiskAdaptor.h\ - AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\ - CopyDiskAdaptor.cc CopyDiskAdaptor.h\ - DirectDiskAdaptor.cc DirectDiskAdaptor.h\ - MultiDiskAdaptor.cc MultiDiskAdaptor.h\ ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\ PeerChokeCommand.cc PeerChokeCommand.h\ SeedCriteria.h\ @@ -180,12 +185,9 @@ SRCS += MetaEntry.h\ AnnounceList.h AnnounceList.cc\ BtContext.h\ DefaultBtContext.cc DefaultBtContext.h\ - PieceStorage.h\ - DefaultPieceStorage.cc DefaultPieceStorage.h\ DefaultPeerStorage.cc DefaultPeerStorage.h\ BtAnnounce.h\ DefaultBtAnnounce.cc DefaultBtAnnounce.h\ - BtRegistry.cc BtRegistry.h\ BtRuntime.h\ BtContextAwareCommand.cc BtContextAwareCommand.h\ BtMessage.h\ @@ -241,7 +243,6 @@ SRCS += MetaEntry.h\ BtSetup.cc BtSetup.h\ BtFileAllocationEntry.cc BtFileAllocationEntry.h\ BtPostDownloadHandler.cc BtPostDownloadHandler.h\ - MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\ BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h endif # ENABLE_BITTORRENT diff --git a/src/Makefile.in b/src/Makefile.in index 92672dc8..ef79f561 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -42,13 +42,8 @@ bin_PROGRAMS = aria2c$(EXEEXT) # debug_new.cpp @ENABLE_MESSAGE_DIGEST_TRUE@am__append_1 = IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\ @ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidator.cc IteratableChecksumValidator.h\ -@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableValidator.h\ @ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityCommand.cc CheckIntegrityCommand.h\ -@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityEntry.cc CheckIntegrityEntry.h\ -@ENABLE_MESSAGE_DIGEST_TRUE@ PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\ -@ENABLE_MESSAGE_DIGEST_TRUE@ StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\ @ENABLE_MESSAGE_DIGEST_TRUE@ ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\ -@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityMan.cc CheckIntegrityMan.h\ @ENABLE_MESSAGE_DIGEST_TRUE@ messageDigest.cc messageDigest.h\ @ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestHelper.cc MessageDigestHelper.h @@ -59,7 +54,6 @@ bin_PROGRAMS = aria2c$(EXEEXT) @ENABLE_BITTORRENT_TRUE@ MetaFileUtil.cc MetaFileUtil.h\ @ENABLE_BITTORRENT_TRUE@ MetaEntryVisitor.h\ @ENABLE_BITTORRENT_TRUE@ ShaVisitor.cc ShaVisitor.h\ -@ENABLE_BITTORRENT_TRUE@ PeerConnection.cc PeerConnection.h\ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.cc PeerMessageUtil.h\ @ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.cc PeerAbstractCommand.h\ @ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\ @@ -69,11 +63,6 @@ bin_PROGRAMS = aria2c$(EXEEXT) @ENABLE_BITTORRENT_TRUE@ RequestSlot.cc RequestSlot.h\ @ENABLE_BITTORRENT_TRUE@ Directory.cc Directory.h\ @ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.cc TrackerWatcherCommand.h\ -@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.cc DiskAdaptor.h\ -@ENABLE_BITTORRENT_TRUE@ AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\ -@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.cc CopyDiskAdaptor.h\ -@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.cc DirectDiskAdaptor.h\ -@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.cc MultiDiskAdaptor.h\ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\ @ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.cc PeerChokeCommand.h\ @ENABLE_BITTORRENT_TRUE@ SeedCriteria.h\ @@ -89,12 +78,9 @@ bin_PROGRAMS = aria2c$(EXEEXT) @ENABLE_BITTORRENT_TRUE@ AnnounceList.h AnnounceList.cc\ @ENABLE_BITTORRENT_TRUE@ BtContext.h\ @ENABLE_BITTORRENT_TRUE@ DefaultBtContext.cc DefaultBtContext.h\ -@ENABLE_BITTORRENT_TRUE@ PieceStorage.h\ -@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorage.cc DefaultPieceStorage.h\ @ENABLE_BITTORRENT_TRUE@ DefaultPeerStorage.cc DefaultPeerStorage.h\ @ENABLE_BITTORRENT_TRUE@ BtAnnounce.h\ @ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounce.cc DefaultBtAnnounce.h\ -@ENABLE_BITTORRENT_TRUE@ BtRegistry.cc BtRegistry.h\ @ENABLE_BITTORRENT_TRUE@ BtRuntime.h\ @ENABLE_BITTORRENT_TRUE@ BtContextAwareCommand.cc BtContextAwareCommand.h\ @ENABLE_BITTORRENT_TRUE@ BtMessage.h\ @@ -150,7 +136,6 @@ bin_PROGRAMS = aria2c$(EXEEXT) @ENABLE_BITTORRENT_TRUE@ BtSetup.cc BtSetup.h\ @ENABLE_BITTORRENT_TRUE@ BtFileAllocationEntry.cc BtFileAllocationEntry.h\ @ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandler.cc BtPostDownloadHandler.h\ -@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\ @ENABLE_BITTORRENT_TRUE@ BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h @ENABLE_METALINK_TRUE@am__append_3 = Metalinker.cc Metalinker.h\ @@ -262,7 +247,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ ParameterizedStringParser.cc ParameterizedStringParser.h \ FixedWidthNumberDecorator.h NumberDecorator.h \ AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \ - AutoSaveCommand.cc AutoSaveCommand.h \ + AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \ + DefaultPieceStorage.cc DefaultPieceStorage.h \ UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \ StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \ TransferStat.cc TransferStat.h Dependency.h \ @@ -271,49 +257,51 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ FileAllocationIterator.h SingleFileAllocationIterator.cc \ SingleFileAllocationIterator.h PostDownloadHandler.cc \ PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \ - Piece.cc Piece.h IteratableChunkChecksumValidator.cc \ + Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \ + CheckIntegrityEntry.cc CheckIntegrityEntry.h \ + PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \ + StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \ + IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \ + AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \ + CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \ + DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \ + Peer.cc Peer.h BtRegistry.cc BtRegistry.h \ + MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \ + PeerConnection.cc PeerConnection.h \ + IteratableChunkChecksumValidator.cc \ IteratableChunkChecksumValidator.h \ IteratableChecksumValidator.cc IteratableChecksumValidator.h \ - IteratableValidator.h CheckIntegrityCommand.cc \ - CheckIntegrityCommand.h CheckIntegrityEntry.cc \ - CheckIntegrityEntry.h PieceHashCheckIntegrityEntry.cc \ - PieceHashCheckIntegrityEntry.h StreamCheckIntegrityEntry.cc \ - StreamCheckIntegrityEntry.h ChecksumCheckIntegrityEntry.cc \ - ChecksumCheckIntegrityEntry.h CheckIntegrityMan.cc \ - CheckIntegrityMan.h messageDigest.cc messageDigest.h \ - MessageDigestHelper.cc MessageDigestHelper.h MetaEntry.h \ - Data.cc Data.h Dictionary.cc Dictionary.h List.cc List.h \ - MetaFileUtil.cc MetaFileUtil.h MetaEntryVisitor.h \ - ShaVisitor.cc ShaVisitor.h PeerConnection.cc PeerConnection.h \ + CheckIntegrityCommand.cc CheckIntegrityCommand.h \ + ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h \ + messageDigest.cc messageDigest.h MessageDigestHelper.cc \ + MessageDigestHelper.h MetaEntry.h Data.cc Data.h Dictionary.cc \ + Dictionary.h List.cc List.h MetaFileUtil.cc MetaFileUtil.h \ + MetaEntryVisitor.h ShaVisitor.cc ShaVisitor.h \ PeerMessageUtil.cc PeerMessageUtil.h PeerAbstractCommand.cc \ PeerAbstractCommand.h PeerInitiateConnectionCommand.cc \ PeerInitiateConnectionCommand.h PeerInteractionCommand.cc \ - PeerInteractionCommand.h Peer.cc Peer.h PeerListenCommand.cc \ + PeerInteractionCommand.h PeerListenCommand.cc \ PeerListenCommand.h RequestSlot.cc RequestSlot.h Directory.cc \ Directory.h TrackerWatcherCommand.cc TrackerWatcherCommand.h \ - DiskAdaptor.cc DiskAdaptor.h AbstractSingleDiskAdaptor.cc \ - AbstractSingleDiskAdaptor.h CopyDiskAdaptor.cc \ - CopyDiskAdaptor.h DirectDiskAdaptor.cc DirectDiskAdaptor.h \ - MultiDiskAdaptor.cc MultiDiskAdaptor.h ByteArrayDiskWriter.cc \ - ByteArrayDiskWriter.h PeerChokeCommand.cc PeerChokeCommand.h \ - SeedCriteria.h TimeSeedCriteria.h ShareRatioSeedCriteria.h \ + ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \ + PeerChokeCommand.cc PeerChokeCommand.h SeedCriteria.h \ + TimeSeedCriteria.h ShareRatioSeedCriteria.h \ UnionSeedCriteria.h SeedCheckCommand.cc SeedCheckCommand.h \ PeerListProcessor.h DefaultPeerListProcessor.cc \ DefaultPeerListProcessor.h CompactPeerListProcessor.cc \ CompactPeerListProcessor.h DelegatingPeerListProcessor.cc \ DelegatingPeerListProcessor.h AnnounceTier.h AnnounceList.h \ AnnounceList.cc BtContext.h DefaultBtContext.cc \ - DefaultBtContext.h PieceStorage.h DefaultPieceStorage.cc \ - DefaultPieceStorage.h DefaultPeerStorage.cc \ - DefaultPeerStorage.h BtAnnounce.h DefaultBtAnnounce.cc \ - DefaultBtAnnounce.h BtRegistry.cc BtRegistry.h BtRuntime.h \ - BtContextAwareCommand.cc BtContextAwareCommand.h BtMessage.h \ - AbstractBtMessage.h SimpleBtMessage.cc SimpleBtMessage.h \ - BtAllowedFastMessage.cc BtAllowedFastMessage.h \ - BtBitfieldMessage.cc BtBitfieldMessage.h BtCancelMessage.cc \ - BtCancelMessage.h BtChokeMessage.cc BtChokeMessage.h \ - BtHaveAllMessage.cc BtHaveAllMessage.h BtHaveMessage.cc \ - BtHaveMessage.h BtHaveNoneMessage.cc BtHaveNoneMessage.h \ + DefaultBtContext.h DefaultPeerStorage.cc DefaultPeerStorage.h \ + BtAnnounce.h DefaultBtAnnounce.cc DefaultBtAnnounce.h \ + BtRuntime.h BtContextAwareCommand.cc BtContextAwareCommand.h \ + BtMessage.h AbstractBtMessage.h SimpleBtMessage.cc \ + SimpleBtMessage.h BtAllowedFastMessage.cc \ + BtAllowedFastMessage.h BtBitfieldMessage.cc \ + BtBitfieldMessage.h BtCancelMessage.cc BtCancelMessage.h \ + BtChokeMessage.cc BtChokeMessage.h BtHaveAllMessage.cc \ + BtHaveAllMessage.h BtHaveMessage.cc BtHaveMessage.h \ + BtHaveNoneMessage.cc BtHaveNoneMessage.h \ BtInterestedMessage.cc BtInterestedMessage.h \ BtKeepAliveMessage.cc BtKeepAliveMessage.h \ BtNotInterestedMessage.cc BtNotInterestedMessage.h \ @@ -342,7 +330,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ PeerReceiveHandshakeCommand.h BtSetup.cc BtSetup.h \ BtFileAllocationEntry.cc BtFileAllocationEntry.h \ BtPostDownloadHandler.cc BtPostDownloadHandler.h \ - MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \ BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h Metalinker.cc \ Metalinker.h MetalinkEntry.cc MetalinkEntry.h \ MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \ @@ -357,18 +344,13 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ @ENABLE_MESSAGE_DIGEST_TRUE@am__objects_1 = IteratableChunkChecksumValidator.$(OBJEXT) \ @ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidator.$(OBJEXT) \ @ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityCommand.$(OBJEXT) \ -@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityEntry.$(OBJEXT) \ -@ENABLE_MESSAGE_DIGEST_TRUE@ PieceHashCheckIntegrityEntry.$(OBJEXT) \ -@ENABLE_MESSAGE_DIGEST_TRUE@ StreamCheckIntegrityEntry.$(OBJEXT) \ @ENABLE_MESSAGE_DIGEST_TRUE@ ChecksumCheckIntegrityEntry.$(OBJEXT) \ -@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityMan.$(OBJEXT) \ @ENABLE_MESSAGE_DIGEST_TRUE@ messageDigest.$(OBJEXT) \ @ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestHelper.$(OBJEXT) @ENABLE_BITTORRENT_TRUE@am__objects_2 = Data.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ Dictionary.$(OBJEXT) List.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ MetaFileUtil.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ShaVisitor.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ PeerConnection.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.$(OBJEXT) \ @@ -378,11 +360,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ @ENABLE_BITTORRENT_TRUE@ RequestSlot.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ Directory.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ AbstractSingleDiskAdaptor.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ SeedCheckCommand.$(OBJEXT) \ @@ -391,10 +368,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ @ENABLE_BITTORRENT_TRUE@ DelegatingPeerListProcessor.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ AnnounceList.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultBtContext.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorage.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultPeerStorage.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounce.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ BtRegistry.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtContextAwareCommand.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ SimpleBtMessage.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtAllowedFastMessage.$(OBJEXT) \ @@ -425,7 +400,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ @ENABLE_BITTORRENT_TRUE@ BtSetup.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtFileAllocationEntry.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandler.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIterator.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtCheckIntegrityEntry.$(OBJEXT) @ENABLE_METALINK_TRUE@am__objects_3 = Metalinker.$(OBJEXT) \ @ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \ @@ -487,15 +461,23 @@ am__objects_12 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \ Platform.$(OBJEXT) PStringSegment.$(OBJEXT) \ PStringBuildVisitor.$(OBJEXT) \ ParameterizedStringParser.$(OBJEXT) TimeBasedCommand.$(OBJEXT) \ - AutoSaveCommand.$(OBJEXT) UnknownLengthPieceStorage.$(OBJEXT) \ - ConsoleStatCalc.$(OBJEXT) TransferStat.$(OBJEXT) \ - DefaultBtProgressInfoFile.$(OBJEXT) \ + AutoSaveCommand.$(OBJEXT) DefaultPieceStorage.$(OBJEXT) \ + UnknownLengthPieceStorage.$(OBJEXT) ConsoleStatCalc.$(OBJEXT) \ + TransferStat.$(OBJEXT) DefaultBtProgressInfoFile.$(OBJEXT) \ SingleFileAllocationIterator.$(OBJEXT) \ PostDownloadHandler.$(OBJEXT) HaveEraseCommand.$(OBJEXT) \ - Piece.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) $(am__objects_5) \ - $(am__objects_6) $(am__objects_7) $(am__objects_8) \ - $(am__objects_9) $(am__objects_10) $(am__objects_11) + Piece.$(OBJEXT) CheckIntegrityMan.$(OBJEXT) \ + CheckIntegrityEntry.$(OBJEXT) \ + PieceHashCheckIntegrityEntry.$(OBJEXT) \ + StreamCheckIntegrityEntry.$(OBJEXT) DiskAdaptor.$(OBJEXT) \ + AbstractSingleDiskAdaptor.$(OBJEXT) CopyDiskAdaptor.$(OBJEXT) \ + DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \ + Peer.$(OBJEXT) BtRegistry.$(OBJEXT) \ + MultiFileAllocationIterator.$(OBJEXT) PeerConnection.$(OBJEXT) \ + $(am__objects_1) $(am__objects_2) $(am__objects_3) \ + $(am__objects_4) $(am__objects_5) $(am__objects_6) \ + $(am__objects_7) $(am__objects_8) $(am__objects_9) \ + $(am__objects_10) $(am__objects_11) am_libaria2c_a_OBJECTS = $(am__objects_12) libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS) am__installdirs = "$(DESTDIR)$(bindir)" @@ -757,7 +739,8 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \ ParameterizedStringParser.cc ParameterizedStringParser.h \ FixedWidthNumberDecorator.h NumberDecorator.h \ AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \ - AutoSaveCommand.cc AutoSaveCommand.h \ + AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \ + DefaultPieceStorage.cc DefaultPieceStorage.h \ UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \ StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \ TransferStat.cc TransferStat.h Dependency.h \ @@ -766,10 +749,21 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \ FileAllocationIterator.h SingleFileAllocationIterator.cc \ SingleFileAllocationIterator.h PostDownloadHandler.cc \ PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \ - Piece.cc Piece.h $(am__append_1) $(am__append_2) \ - $(am__append_3) $(am__append_4) $(am__append_5) \ - $(am__append_6) $(am__append_7) $(am__append_8) \ - $(am__append_9) $(am__append_10) $(am__append_11) + Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \ + CheckIntegrityEntry.cc CheckIntegrityEntry.h \ + PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \ + StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \ + IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \ + AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \ + CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \ + DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \ + Peer.cc Peer.h BtRegistry.cc BtRegistry.h \ + MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \ + PeerConnection.cc PeerConnection.h $(am__append_1) \ + $(am__append_2) $(am__append_3) $(am__append_4) \ + $(am__append_5) $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_9) $(am__append_10) \ + $(am__append_11) noinst_LIBRARIES = libaria2c.a libaria2c_a_SOURCES = $(SRCS) aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\ diff --git a/src/Metalink2RequestGroup.cc b/src/Metalink2RequestGroup.cc index cdd2cf72..262611ed 100644 --- a/src/Metalink2RequestGroup.cc +++ b/src/Metalink2RequestGroup.cc @@ -40,9 +40,11 @@ #include "Xml2MetalinkProcessor.h" #include "Util.h" #include "message.h" -#include "BtDependency.h" #include "SingleFileDownloadContext.h" #include "MetalinkHelper.h" +#ifdef ENABLE_BITTORRENT +# include "BtDependency.h" +#endif // ENABLE_BITTORRENT Metalink2RequestGroup::Metalink2RequestGroup(const Option* option):_option(option), _logger(LogFactory::getInstance()) {} @@ -130,6 +132,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile) MetalinkResources::iterator itr = find_if(entry->resources.begin(), entry->resources.end(), FindBitTorrentUrl()); +#ifdef ENABLE_BITTORRENT RequestGroupHandle torrentRg = 0; // there is torrent entry if(itr != entry->resources.end()) { @@ -145,6 +148,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile) torrentRg->clearPostDowloadHandler(); groups.push_back(torrentRg); } +#endif // ENABLE_BITTORRENT entry->reorderResourcesByPreference(); Strings uris; for_each(entry->resources.begin(), entry->resources.end(), @@ -153,17 +157,22 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile) // If piece hash is specified in the metalink, // make segment size equal to piece hash size. int32_t pieceLength; +#ifdef ENABLE_MESSAGE_DIGEST if(entry->chunkChecksum.isNull()) { pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE); } else { pieceLength = entry->chunkChecksum->getChecksumLength(); } +#else + pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE); +#endif // ENABLE_MESSAGE_DIGEST SingleFileDownloadContextHandle dctx = new SingleFileDownloadContext(pieceLength, entry->getLength(), "", entry->file->getPath()); dctx->setDir(_option->get(PREF_DIR)); +#ifdef ENABLE_MESSAGE_DIGEST if(entry->chunkChecksum.isNull()) { if(!entry->checksum.isNull()) { dctx->setChecksum(entry->checksum->getMessageDigest()); @@ -173,18 +182,19 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile) dctx->setPieceHashes(entry->chunkChecksum->getChecksums()); dctx->setPieceHashAlgo(entry->chunkChecksum->getAlgo()); } - +#endif // ENABLE_MESSAGE_DIGEST rg->setDownloadContext(dctx); rg->setHintTotalLength(entry->getLength()); rg->setNumConcurrentCommand(entry->maxConnections < 0 ? _option->getAsInt(PREF_METALINK_SERVERS) : min(_option->getAsInt(PREF_METALINK_SERVERS), entry->maxConnections)); +#ifdef ENABLE_BITTORRENT // Inject depenency between rg and torrentRg here if torrentRg.isNull() == false if(!torrentRg.isNull()) { rg->dependsOn(new BtDependency(rg, torrentRg, _option)); } - +#endif // ENABLE_BITTORRENT groups.push_back(rg); } return groups; diff --git a/src/MetalinkEntry.h b/src/MetalinkEntry.h index 9111a676..71795645 100644 --- a/src/MetalinkEntry.h +++ b/src/MetalinkEntry.h @@ -37,10 +37,10 @@ #include "common.h" #include "MetalinkResource.h" -#include "Checksum.h" #include "FileEntry.h" #ifdef ENABLE_MESSAGE_DIGEST -#include "ChunkChecksum.h" +# include "Checksum.h" +# include "ChunkChecksum.h" #endif // ENABLE_MESSAGE_DIGEST #include diff --git a/src/MetalinkHelper.cc b/src/MetalinkHelper.cc index 76bde09a..00597844 100644 --- a/src/MetalinkHelper.cc +++ b/src/MetalinkHelper.cc @@ -38,6 +38,7 @@ #include "Xml2MetalinkProcessor.h" #include "Metalinker.h" #include "prefs.h" +#include "DlAbortEx.h" MetalinkHelper::MetalinkHelper() {} diff --git a/src/Peer.cc b/src/Peer.cc index 44ef73f6..5abfa93f 100644 --- a/src/Peer.cc +++ b/src/Peer.cc @@ -35,7 +35,9 @@ #include "Peer.h" #include "BitfieldManFactory.h" #include "Util.h" -#include "MessageDigestHelper.h" +#ifdef ENABLE_MESSAGE_DIGEST +# include "MessageDigestHelper.h" +#endif // ENABLE_MESSAGE_DIGEST Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength): ipaddr(ipaddr), @@ -51,7 +53,11 @@ Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength this->bitfield = BitfieldManFactory::getFactoryInstance()-> createBitfieldMan(pieceLength, totalLength); string idSeed = ipaddr+":"+Util::itos(port); +#ifdef ENABLE_MESSAGE_DIGEST id = MessageDigestHelper::digestString("sha1", idSeed); +#else + id = idSeed; +#endif // ENABLE_MESSAGE_DIGEST } void Peer::reconfigure(int32_t pieceLength, int64_t totalLength) diff --git a/src/Peer.h b/src/Peer.h index 2fbbdc6d..26189032 100644 --- a/src/Peer.h +++ b/src/Peer.h @@ -37,13 +37,9 @@ #include "common.h" #include "BitfieldMan.h" -#include "SharedHandle.h" #include "PeerStat.h" #include "TimeA2.h" #include -#include - -using namespace std; #define PEER_ID_LENGTH 20 #define DEFAULT_LATENCY 1500 diff --git a/src/PieceHashCheckIntegrityEntry.cc b/src/PieceHashCheckIntegrityEntry.cc index dcc45565..248147de 100644 --- a/src/PieceHashCheckIntegrityEntry.cc +++ b/src/PieceHashCheckIntegrityEntry.cc @@ -54,8 +54,10 @@ bool PieceHashCheckIntegrityEntry::isValidationReady() void PieceHashCheckIntegrityEntry::initValidator() { +#ifdef ENABLE_MESSAGE_DIGEST IteratableChunkChecksumValidatorHandle validator = new IteratableChunkChecksumValidator(_requestGroup->getDownloadContext(), _requestGroup->getPieceStorage()); _validator = validator; +#endif // ENABLE_MESSAGE_DIGEST } diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc index 510a11d4..aa015d9f 100644 --- a/src/RequestGroup.cc +++ b/src/RequestGroup.cc @@ -56,13 +56,14 @@ #include "DlAbortEx.h" #include "DownloadFailureException.h" #include "RequestGroupMan.h" +#include "DefaultBtProgressInfoFile.h" +#include "DefaultPieceStorage.h" +#include "PostDownloadHandler.h" #ifdef ENABLE_MESSAGE_DIGEST # include "CheckIntegrityCommand.h" #endif // ENABLE_MESSAGE_DIGEST #ifdef ENABLE_BITTORRENT # include "BtCheckIntegrityEntry.h" -# include "DefaultPieceStorage.h" -# include "DefaultBtProgressInfoFile.h" # include "DefaultPeerStorage.h" # include "DefaultBtAnnounce.h" # include "BtSetup.h" @@ -584,8 +585,12 @@ RequestGroups RequestGroup::postDownloadProcessing() void RequestGroup::initializePostDownloadHandler() { +#ifdef ENABLE_BITTORRENT _postDownloadHandlers.push_back(new BtPostDownloadHandler(_option)); +#endif // ENABLE_BITTORRENT +#ifdef ENABLE_METALINK _postDownloadHandlers.push_back(new MetalinkPostDownloadHandler(_option)); +#endif // ENABLE_METALINK } Strings RequestGroup::getUris() const diff --git a/src/main.cc b/src/main.cc index 547e1702..dde08d12 100644 --- a/src/main.cc +++ b/src/main.cc @@ -115,6 +115,7 @@ RequestGroupHandle createRequestGroup(const Option* op, const Strings& uris, extern Option* option_processing(int argc, char* const argv[]); +#ifdef ENABLE_BITTORRENT void downloadBitTorrent(Option* op, const Strings& uri) { Strings nargs; @@ -141,7 +142,9 @@ void downloadBitTorrent(Option* op, const Strings& uri) groups.push_back(rg); MultiUrlRequestInfo(groups, op).execute(); } +#endif // ENABLE_BITTORRENT +#ifdef ENABLE_METALINK void downloadMetalink(Option* op) { RequestGroups groups = Metalink2RequestGroup(op).generate(op->get(PREF_METALINK_FILE)); @@ -150,6 +153,7 @@ void downloadMetalink(Option* op) } MultiUrlRequestInfo(groups, op).execute(); } +#endif // ENABLE_METALINK void downloadUriList(Option* op) { @@ -250,7 +254,7 @@ int main(int argc, char* argv[]) { int32_t exitStatus = EXIT_SUCCESS; try { Logger* logger = LogFactory::getInstance(); - logger->info("%s %s", PACKAGE, PACKAGE_VERSION); + logger->info("%s %s %s", PACKAGE, PACKAGE_VERSION, TARGET); logger->info(MSG_LOGGING_STARTED); AuthConfigFactoryHandle authConfigFactory = new AuthConfigFactory(op); diff --git a/src/version_usage.cc b/src/version_usage.cc index 3e7bea6e..3332711d 100644 --- a/src/version_usage.cc +++ b/src/version_usage.cc @@ -34,7 +34,9 @@ /* copyright --> */ #include "common.h" #include "FeatureConfig.h" -#include "messageDigest.h" +#ifdef ENABLE_MESSAGE_DIGEST +# include "messageDigest.h" +#endif // ENABLE_MESSAGE_DIGEST void showVersion() { cout << PACKAGE << _(" version ") << PACKAGE_VERSION << endl; diff --git a/test/DefaultPieceStorageTest.cc b/test/DefaultPieceStorageTest.cc index cee9480b..24263ac2 100644 --- a/test/DefaultPieceStorageTest.cc +++ b/test/DefaultPieceStorageTest.cc @@ -38,7 +38,7 @@ public: } void setUp() { - btContext = BtContextHandle(new DefaultBtContext()); + btContext = new DefaultBtContext(); btContext->load("test.torrent"); peer = PeerHandle(new Peer("192.168.0.1", 6889, btContext->getPieceLength(), diff --git a/test/Makefile.am b/test/Makefile.am index 1476ae5c..1e1ada9a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -4,7 +4,6 @@ aria2c_SOURCES = AllTest.cc\ a2functionalTest.cc\ FileEntryTest.cc\ PieceTest.cc\ - DefaultPieceStorageTest.cc\ SegmentTest.cc\ GrowSegmentTest.cc\ SingleFileAllocationIteratorTest.cc\ @@ -42,7 +41,9 @@ aria2c_SOURCES = AllTest.cc\ DefaultDiskWriterTest.cc\ FeatureConfigTest.cc\ SpeedCalcTest.cc\ - FixedNumberRandomizer.h + FixedNumberRandomizer.h\ + MultiDiskAdaptorTest.cc\ + MultiFileAllocationIteratorTest.cc if ENABLE_MESSAGE_DIGEST aria2c_SOURCES += MessageDigestHelperTest.cc\ @@ -68,6 +69,7 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\ BtRequestMessageTest.cc\ BtSuggestPieceMessageTest.cc\ BtUnchokeMessageTest.cc\ + DefaultPieceStorageTest.cc\ DefaultBtAnnounceTest.cc\ DefaultBtContextTest.cc\ DefaultBtMessageDispatcherTest.cc\ @@ -84,13 +86,11 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\ DictionaryTest.cc\ ListTest.cc\ MetaFileUtilTest.cc\ - MultiDiskAdaptorTest.cc\ ByteArrayDiskWriterTest.cc\ PeerTest.cc\ PeerMessageUtilTest.cc\ ShareRatioSeedCriteriaTest.cc\ BtRegistryTest.cc\ - MultiFileAllocationIteratorTest.cc\ BtDependencyTest.cc\ BtPostDownloadHandlerTest.cc\ TimeSeedCriteriaTest.cc diff --git a/test/Makefile.in b/test/Makefile.in index 62880fc9..460f6fc2 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -58,6 +58,7 @@ check_PROGRAMS = $(am__EXEEXT_1) @ENABLE_BITTORRENT_TRUE@ BtRequestMessageTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtSuggestPieceMessageTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtUnchokeMessageTest.cc\ +@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorageTest.cc\ @ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounceTest.cc\ @ENABLE_BITTORRENT_TRUE@ DefaultBtContextTest.cc\ @ENABLE_BITTORRENT_TRUE@ DefaultBtMessageDispatcherTest.cc\ @@ -74,13 +75,11 @@ check_PROGRAMS = $(am__EXEEXT_1) @ENABLE_BITTORRENT_TRUE@ DictionaryTest.cc\ @ENABLE_BITTORRENT_TRUE@ ListTest.cc\ @ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.cc\ -@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptorTest.cc\ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.cc\ @ENABLE_BITTORRENT_TRUE@ PeerTest.cc\ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.cc\ @ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtRegistryTest.cc\ -@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIteratorTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtDependencyTest.cc\ @ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandlerTest.cc\ @ENABLE_BITTORRENT_TRUE@ TimeSeedCriteriaTest.cc @@ -114,9 +113,8 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__EXEEXT_1 = aria2c$(EXEEXT) am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ - FileEntryTest.cc PieceTest.cc DefaultPieceStorageTest.cc \ - SegmentTest.cc GrowSegmentTest.cc \ - SingleFileAllocationIteratorTest.cc \ + FileEntryTest.cc PieceTest.cc SegmentTest.cc \ + GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \ DefaultBtProgressInfoFileTest.cc \ SingleFileDownloadContextTest.cc RequestGroupTest.cc \ PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \ @@ -131,7 +129,8 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \ FileTest.cc OptionTest.cc Base64Test.cc \ DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \ - FixedNumberRandomizer.h MessageDigestHelperTest.cc \ + FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \ + MultiFileAllocationIteratorTest.cc MessageDigestHelperTest.cc \ IteratableChunkChecksumValidatorTest.cc \ IteratableChecksumValidatorTest.cc BtAllowedFastMessageTest.cc \ BtBitfieldMessageTest.cc BtCancelMessageTest.cc \ @@ -142,17 +141,16 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ BtPieceMessageTest.cc BtPortMessageTest.cc \ BtRejectMessageTest.cc BtRequestMessageTest.cc \ BtSuggestPieceMessageTest.cc BtUnchokeMessageTest.cc \ - DefaultBtAnnounceTest.cc DefaultBtContextTest.cc \ - DefaultBtMessageDispatcherTest.cc \ + DefaultPieceStorageTest.cc DefaultBtAnnounceTest.cc \ + DefaultBtContextTest.cc DefaultBtMessageDispatcherTest.cc \ DefaultBtRequestFactoryTest.cc MockBtMessage.h \ MockBtMessageDispatcher.h MockBtMessageFactory.h \ ShaVisitorTest.cc DefaultPeerListProcessorTest.cc \ AnnounceListTest.cc DefaultPeerStorageTest.cc \ MockPeerStorage.h DataTest.cc DictionaryTest.cc ListTest.cc \ - MetaFileUtilTest.cc MultiDiskAdaptorTest.cc \ - ByteArrayDiskWriterTest.cc PeerTest.cc PeerMessageUtilTest.cc \ - ShareRatioSeedCriteriaTest.cc BtRegistryTest.cc \ - MultiFileAllocationIteratorTest.cc BtDependencyTest.cc \ + MetaFileUtilTest.cc ByteArrayDiskWriterTest.cc PeerTest.cc \ + PeerMessageUtilTest.cc ShareRatioSeedCriteriaTest.cc \ + BtRegistryTest.cc BtDependencyTest.cc \ BtPostDownloadHandlerTest.cc TimeSeedCriteriaTest.cc \ MetalinkerTest.cc MetalinkEntryTest.cc \ Xml2MetalinkProcessorTest.cc Metalink2RequestGroupTest.cc \ @@ -179,6 +177,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ @ENABLE_BITTORRENT_TRUE@ BtRequestMessageTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtSuggestPieceMessageTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtUnchokeMessageTest.$(OBJEXT) \ +@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorageTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounceTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultBtContextTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ DefaultBtMessageDispatcherTest.$(OBJEXT) \ @@ -191,13 +190,11 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ @ENABLE_BITTORRENT_TRUE@ DictionaryTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ListTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptorTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtRegistryTest.$(OBJEXT) \ -@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIteratorTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtDependencyTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandlerTest.$(OBJEXT) \ @ENABLE_BITTORRENT_TRUE@ TimeSeedCriteriaTest.$(OBJEXT) @@ -209,8 +206,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \ @ENABLE_METALINK_TRUE@ MetalinkHelperTest.$(OBJEXT) am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \ FileEntryTest.$(OBJEXT) PieceTest.$(OBJEXT) \ - DefaultPieceStorageTest.$(OBJEXT) SegmentTest.$(OBJEXT) \ - GrowSegmentTest.$(OBJEXT) \ + SegmentTest.$(OBJEXT) GrowSegmentTest.$(OBJEXT) \ SingleFileAllocationIteratorTest.$(OBJEXT) \ DefaultBtProgressInfoFileTest.$(OBJEXT) \ SingleFileDownloadContextTest.$(OBJEXT) \ @@ -231,8 +227,9 @@ am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \ SharedHandleTest.$(OBJEXT) ChunkedEncodingTest.$(OBJEXT) \ FileTest.$(OBJEXT) OptionTest.$(OBJEXT) Base64Test.$(OBJEXT) \ DefaultDiskWriterTest.$(OBJEXT) FeatureConfigTest.$(OBJEXT) \ - SpeedCalcTest.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) + SpeedCalcTest.$(OBJEXT) MultiDiskAdaptorTest.$(OBJEXT) \ + MultiFileAllocationIteratorTest.$(OBJEXT) $(am__objects_1) \ + $(am__objects_2) $(am__objects_3) aria2c_OBJECTS = $(am_aria2c_OBJECTS) am__DEPENDENCIES_1 = aria2c_DEPENDENCIES = ../src/libaria2c.a $(am__DEPENDENCIES_1) @@ -420,8 +417,8 @@ target_os = @target_os@ target_vendor = @target_vendor@ TESTS = aria2c aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \ - PieceTest.cc DefaultPieceStorageTest.cc SegmentTest.cc \ - GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \ + PieceTest.cc SegmentTest.cc GrowSegmentTest.cc \ + SingleFileAllocationIteratorTest.cc \ DefaultBtProgressInfoFileTest.cc \ SingleFileDownloadContextTest.cc RequestGroupTest.cc \ PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \ @@ -436,8 +433,9 @@ aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \ HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \ FileTest.cc OptionTest.cc Base64Test.cc \ DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \ - FixedNumberRandomizer.h $(am__append_1) $(am__append_2) \ - $(am__append_3) + FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \ + MultiFileAllocationIteratorTest.cc $(am__append_1) \ + $(am__append_2) $(am__append_3) #aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64 #aria2c_LDFLAGS = ${CPPUNIT_LIBS} diff --git a/test/Metalink2RequestGroupTest.cc b/test/Metalink2RequestGroupTest.cc index a5ad3ccc..8e08fbe2 100644 --- a/test/Metalink2RequestGroupTest.cc +++ b/test/Metalink2RequestGroupTest.cc @@ -39,9 +39,11 @@ void Metalink2RequestGroupTest::testGenerate() SingleFileDownloadContextHandle dctx = rg->getDownloadContext(); CPPUNIT_ASSERT(!dctx.isNull()); CPPUNIT_ASSERT_EQUAL((int64_t)0, dctx->getTotalLength()); +#ifdef ENABLE_MESSAGE_DIGEST CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getChecksumHashAlgo()); CPPUNIT_ASSERT_EQUAL(string("a96cf3f0266b91d87d5124cf94326422800b627d"), dctx->getChecksum()); +#endif // ENABLE_MESSAGE_DIGEST } // second file { @@ -50,13 +52,16 @@ void Metalink2RequestGroupTest::testGenerate() CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size()); SingleFileDownloadContextHandle dctx = rg->getDownloadContext(); CPPUNIT_ASSERT(!dctx.isNull()); +#ifdef ENABLE_MESSAGE_DIGEST CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getPieceHashAlgo()); CPPUNIT_ASSERT_EQUAL((size_t)2, dctx->getPieceHashes().size()); CPPUNIT_ASSERT_EQUAL((int32_t)262144, dctx->getPieceLength()); CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksumHashAlgo()); CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksum()); +#endif // ENABLE_MESSAGE_DIGEST } +#ifdef ENABLE_BITTORRENT // fifth file <- downloading .torrent file { RequestGroupHandle rg = groups[4]; @@ -67,9 +72,15 @@ void Metalink2RequestGroupTest::testGenerate() SingleFileDownloadContextHandle dctx = rg->getDownloadContext(); CPPUNIT_ASSERT(!dctx.isNull()); } +#endif // ENABLE_BITTORRENT + // sixth file <- depends on thrid file { +#ifdef ENABLE_BITTORRENT RequestGroupHandle rg = groups[5]; +#else + RequestGroupHandle rg = groups[4]; +#endif // ENABLE_BITTORRENT Strings uris = rg->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size()); CPPUNIT_ASSERT_EQUAL(string("http://host/torrent-http.integrated"), uris[0]); diff --git a/test/MetalinkPostDownloadHandlerTest.cc b/test/MetalinkPostDownloadHandlerTest.cc index bb369526..2c711cf1 100644 --- a/test/MetalinkPostDownloadHandlerTest.cc +++ b/test/MetalinkPostDownloadHandlerTest.cc @@ -34,5 +34,9 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups() Option op; MetalinkPostDownloadHandler handler(&op); RequestGroups groups = handler.getNextRequestGroups("test.xml"); +#ifdef ENABLE_BITTORRENT CPPUNIT_ASSERT_EQUAL((size_t)6/* 5 + 1 torrent file download */, groups.size()); +#else + CPPUNIT_ASSERT_EQUAL((size_t)5, groups.size()); +#endif // ENABLE_BITTORRENT }