summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-31 15:56:20 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-31 15:56:20 +0000
commitccdd5b31a3dfa07cd13d6f7f0f5eaa3d8ff8a61e (patch)
tree4513f2373675d69e97170388b93a455cbb53b333 /test
parent8eeeac71928919fa5e4fb0c1c389fa229637bea3 (diff)
2007-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/FileAllocationCommand.cc: Derived from RealtimeCommand. * src/CheckIntegrityCommand.cc: Derived from RealtimeCommand. * src/MetalinkEntry.h (checksum): Changed to ChecksumHandle * src/MetalinkRequestInfo.cc (checksum): Changed to ChecksumHandle * src/File.cc (mkdirs): OPEN_MODE -> DIR_OPEN_MODE * src/common.h (DIR_OPEN_MODE): New definition * src/RequestGroup.cc (prepareForNextAction): Added an argument. * src/message.h (MSG_GOOD_CHECKSUM): New definition (MSG_BAD_CHECKSUM): New definition * src/HttpResponseCommand.cc (handleDefaultEncoding): Continue download sequence in new non-segmented download. * src/FileAllocationEntry.h (_nextDownloadCommand): New variable. * src/DownloadCommand.cc (prepareForNextSegment): Create ChecksumCommand if checksum is available. * src/RealtimeCommand.h, src/RealtimeCommand.cc: New class. * src/IteratableChecksumValidator.h, src/IteratableChecksumValidator.cc: New class. * src/ChecksumCommand.h, src/ChecksumCommand.cc: New class.
Diffstat (limited to 'test')
-rw-r--r--test/HttpResponseTest.cc34
-rw-r--r--test/IteratableChecksumValidatorTest.cc118
-rw-r--r--test/IteratableChunkChecksumValidatorTest.cc156
-rw-r--r--test/Makefile.am145
-rw-r--r--test/Makefile.in262
-rw-r--r--test/MockPeerStorage.h9
-rw-r--r--test/TrackerWatcherCommandTest.cc16
-rw-r--r--test/UriFileListParserTest.cc49
-rw-r--r--test/Xml2MetalinkProcessorTest.cc8
9 files changed, 606 insertions, 191 deletions
diff --git a/test/HttpResponseTest.cc b/test/HttpResponseTest.cc
index f5f19504..8644fd95 100644
--- a/test/HttpResponseTest.cc
+++ b/test/HttpResponseTest.cc
@@ -20,7 +20,6 @@ class HttpResponseTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testIsTransferEncodingSpecified);
CPPUNIT_TEST(testGetTransferEncoding);
CPPUNIT_TEST(testGetTransferDecoder);
- CPPUNIT_TEST(testValidateFilename);
CPPUNIT_TEST(testValidateResponse);
CPPUNIT_TEST(testValidateResponse_good_range);
CPPUNIT_TEST(testValidateResponse_bad_range);
@@ -44,7 +43,6 @@ public:
void testIsTransferEncodingSpecified();
void testGetTransferEncoding();
void testGetTransferDecoder();
- void testValidateFilename();
void testValidateResponse();
void testValidateResponse_good_range();
void testValidateResponse_bad_range();
@@ -220,38 +218,6 @@ void HttpResponseTest::testGetTransferDecoder()
CPPUNIT_ASSERT(!httpResponse.getTransferDecoder().isNull());
}
-void HttpResponseTest::testValidateFilename()
-{
- HttpResponse httpResponse;
-
- try {
- httpResponse.validateFilename("");
- } catch(...) {
- CPPUNIT_FAIL("");
- }
-
- HttpHeaderHandle httpHeader = new HttpHeader();
- HttpRequestHandle httpRequest = new HttpRequest();
- RequestHandle request = new Request();
- request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
- httpRequest->setRequest(request);
-
- httpResponse.setHttpHeader(httpHeader);
- httpResponse.setHttpRequest(httpRequest);
-
- try {
- httpResponse.validateFilename("aria2-1.0.0.tar.bz2");
- } catch(...) {
- CPPUNIT_FAIL("");
- }
-
- try {
- httpResponse.validateFilename("aria2-current.tar.bz2");
- CPPUNIT_FAIL("exception must be threw.");
- } catch(...) {
- }
-}
-
void HttpResponseTest::testValidateResponse()
{
HttpResponse httpResponse;
diff --git a/test/IteratableChecksumValidatorTest.cc b/test/IteratableChecksumValidatorTest.cc
new file mode 100644
index 00000000..8b78e106
--- /dev/null
+++ b/test/IteratableChecksumValidatorTest.cc
@@ -0,0 +1,118 @@
+#include "IteratableChecksumValidator.h"
+#include "DefaultDiskWriter.h"
+#include <cppunit/extensions/HelperMacros.h>
+
+using namespace std;
+
+class IteratableChecksumValidatorTest:public CppUnit::TestFixture {
+
+ CPPUNIT_TEST_SUITE(IteratableChecksumValidatorTest);
+ CPPUNIT_TEST(testValidate);
+ CPPUNIT_TEST(testValidate2);
+ CPPUNIT_TEST_SUITE_END();
+private:
+
+public:
+ void setUp() {
+ }
+
+ void testValidate();
+ void testValidate2();
+};
+
+
+CPPUNIT_TEST_SUITE_REGISTRATION( IteratableChecksumValidatorTest );
+
+void IteratableChecksumValidatorTest::testValidate() {
+ BitfieldMan bitfieldMan(100, 250);
+ bitfieldMan.setAllBit();
+
+ ChecksumHandle checksum = new Checksum("898a81b8e0181280ae2ee1b81e269196d91e869a", DIGEST_ALGO_SHA1);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+ validator.setBitfield(&bitfieldMan);
+ validator.setChecksum(checksum);
+
+ validator.init();
+ while(!validator.finished()) {
+ validator.validateChunk();
+ }
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+}
+
+void IteratableChecksumValidatorTest::testValidate2() {
+ BitfieldMan bitfieldMan(100, 250);
+ bitfieldMan.setAllBit();
+
+ ChecksumHandle checksum = new Checksum("ffffffffffffffffffffffffffffffffffffffff", DIGEST_ALGO_SHA1);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+ validator.setBitfield(&bitfieldMan);
+ validator.setChecksum(checksum);
+
+ validator.init();
+ while(!validator.finished()) {
+ validator.validateChunk();
+ }
+ CPPUNIT_ASSERT(!bitfieldMan.isAllBitSet());
+}
+/*
+void IteratableChecksumValidatorTest::testValidate3() {
+ BitfieldMan bitfieldMan(50, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums;
+ checksums.push_back("898a81b8e0181280ae2ee1b81e269196d91e869a");
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+
+ validator.validate(&bitfieldMan, checksums, 250);
+
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[0] = "ffffffffffffffffffffffffffffffffffffffff";
+
+ validator.validate(&bitfieldMan, checksums, 250);
+
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(3));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(4));
+}
+
+void IteratableChecksumValidatorTest::testValidate4() {
+ BitfieldMan bitfieldMan(70, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums(&csArray[0], &csArray[3]);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(3));
+}
+*/
diff --git a/test/IteratableChunkChecksumValidatorTest.cc b/test/IteratableChunkChecksumValidatorTest.cc
new file mode 100644
index 00000000..fb34d243
--- /dev/null
+++ b/test/IteratableChunkChecksumValidatorTest.cc
@@ -0,0 +1,156 @@
+#include "IteratableChunkChecksumValidator.h"
+#include "DefaultDiskWriter.h"
+#include <cppunit/extensions/HelperMacros.h>
+
+using namespace std;
+
+class IteratableChunkChecksumValidatorTest:public CppUnit::TestFixture {
+
+ CPPUNIT_TEST_SUITE(IteratableChunkChecksumValidatorTest);
+ CPPUNIT_TEST(testValidate);
+ /*
+ CPPUNIT_TEST(testValidate2);
+ CPPUNIT_TEST(testValidate3);
+ CPPUNIT_TEST(testValidate4);
+ */
+ CPPUNIT_TEST_SUITE_END();
+private:
+
+ static const char* csArray[];// = { "29b0e7878271645fffb7eec7db4a7473a1c00bc1",
+ // "4df75a661cb7eb2733d9cdaa7f772eae3a4e2976",
+ // "0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb" };
+public:
+ void setUp() {
+ }
+
+ void testValidate();
+ /*
+ void testValidate2();
+ void testValidate3();
+ void testValidate4();
+ */
+};
+
+
+CPPUNIT_TEST_SUITE_REGISTRATION( IteratableChunkChecksumValidatorTest );
+
+const char* IteratableChunkChecksumValidatorTest::csArray[] = { "29b0e7878271645fffb7eec7db4a7473a1c00bc1",
+ "4df75a661cb7eb2733d9cdaa7f772eae3a4e2976",
+ "0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb" };
+
+void IteratableChunkChecksumValidatorTest::testValidate() {
+ BitfieldMan bitfieldMan(100, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums(&csArray[0], &csArray[3]);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ ChunkChecksumHandle chunkChecksum = new ChunkChecksum(DIGEST_ALGO_SHA1,
+ checksums,
+ 100);
+ IteratableChunkChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+ validator.setBitfield(&bitfieldMan);
+ validator.setChunkChecksum(chunkChecksum);
+
+ validator.init();
+ validator.validateChunk();
+ CPPUNIT_ASSERT(!validator.finished());
+ validator.validateChunk();
+ CPPUNIT_ASSERT(!validator.finished());
+ validator.validateChunk();
+ CPPUNIT_ASSERT(validator.finished());
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
+ chunkChecksum = new ChunkChecksum(DIGEST_ALGO_SHA1,
+ checksums,
+ 100);
+ validator.setChunkChecksum(chunkChecksum);
+
+ validator.init();
+ while(!validator.finished()) {
+ validator.validateChunk();
+ }
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(2));
+}
+/*
+void IteratableChunkChecksumValidatorTest::testValidate2() {
+ BitfieldMan bitfieldMan(50, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums(&csArray[0], &csArray[3]);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChunkChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(3));
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(4));
+}
+
+void IteratableChunkChecksumValidatorTest::testValidate3() {
+ BitfieldMan bitfieldMan(50, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums;
+ checksums.push_back("898a81b8e0181280ae2ee1b81e269196d91e869a");
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChunkChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+
+ validator.validate(&bitfieldMan, checksums, 250);
+
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[0] = "ffffffffffffffffffffffffffffffffffffffff";
+
+ validator.validate(&bitfieldMan, checksums, 250);
+
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(3));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(4));
+}
+
+void IteratableChunkChecksumValidatorTest::testValidate4() {
+ BitfieldMan bitfieldMan(70, 250);
+ bitfieldMan.setAllBit();
+ Strings checksums(&csArray[0], &csArray[3]);
+
+ DefaultDiskWriterHandle diskWriter = new DefaultDiskWriter();
+ diskWriter->openExistingFile("chunkChecksumTestFile250.txt");
+
+ IteratableChunkChecksumValidator validator;
+ validator.setDiskWriter(diskWriter);
+
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isAllBitSet());
+
+ checksums[1] = "ffffffffffffffffffffffffffffffffffffffff";
+ validator.validate(&bitfieldMan, checksums, 100);
+
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(0));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(1));
+ CPPUNIT_ASSERT(!bitfieldMan.isBitSet(2));
+ CPPUNIT_ASSERT(bitfieldMan.isBitSet(3));
+}
+*/
diff --git a/test/Makefile.am b/test/Makefile.am
index 5d2dadeb..9eab8d70 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,78 +1,79 @@
TESTS = aria2c
check_PROGRAMS = $(TESTS)
aria2c_SOURCES = AllTest.cc\
- IteratableChunkChecksumValidatorTest.cc
-# UriFileListParserTest.cc
-# PeerTest.cc\
-# DefaultPeerStorageTest.cc\
-# RequestFactoryTest.cc\
-# NetrcAuthResolverTest.cc\
-# DefaultAuthResolverTest.cc\
-# RequestTest.cc\
-# HttpRequestTest.cc\
-# UtilTest.cc\
-# OptionHandlerTest.cc\
-# SegmentManTest.cc\
-# BitfieldManTest.cc\
-# GlowFileAllocatorTest.cc\
-# NetrcTest.cc\
-# SingletonHolderTest.cc\
-# HttpHeaderTest.cc\
-# HttpResponseTest.cc\
-# SharedHandleTest.cc\
-# ChunkedEncodingTest.cc\
-# FileTest.cc\
-# OptionTest.cc\
-# Base64Test.cc\
-# CookieBoxTest.cc\
-# DataTest.cc\
-# DictionaryTest.cc\
-# ListTest.cc\
-# MetaFileUtilTest.cc\
-# ShaVisitorTest.cc\
-# PeerMessageUtilTest.cc\
-# DefaultDiskWriterTest.cc\
-# MultiDiskAdaptorTest.cc\
-# Xml2MetalinkProcessorTest.cc\
-# MetalinkerTest.cc\
-# MetalinkEntryTest.cc\
-# FeatureConfigTest.cc\
-# ShareRatioSeedCriteriaTest.cc\
-# TimeSeedCriteriaTest.cc\
-# SpeedCalcTest.cc\
-# DefaultPeerListProcessorTest.cc\
-# AnnounceListTest.cc\
-# TrackerWatcherCommandTest.cc\
-# DefaultBtContextTest.cc\
-# DefaultPieceStorageTest.cc\
-# DefaultBtAnnounceTest.cc\
-# BtRegistryTest.cc\
-# DefaultBtMessageDispatcherTest.cc\
-# MockPeerStorage.h\
-# DefaultBtRequestFactoryTest.cc\
-# BtAllowedFastMessageTest.cc\
-# BtBitfieldMessageTest.cc\
-# BtCancelMessageTest.cc\
-# BtChokeMessageTest.cc\
-# BtHaveAllMessageTest.cc\
-# BtHaveMessageTest.cc\
-# BtHaveNoneMessageTest.cc\
-# BtInterestedMessageTest.cc\
-# BtKeepAliveMessageTest.cc\
-# BtNotInterestedMessageTest.cc\
-# BtPieceMessageTest.cc\
-# BtPortMessageTest.cc\
-# BtRejectMessageTest.cc\
-# BtRequestMessageTest.cc\
-# BtSuggestPieceMessageTest.cc\
-# BtUnchokeMessageTest.cc\
-# BtHandshakeMessageTest.cc\
-# MockBtMessageDispatcher.h\
-# FixedNumberRandomizer.h\
-# MockBtMessageFactory.h\
-# MockBtMessage.h\
-# ConsoleFileAllocationMonitorTest.cc\
-# ChunkChecksumValidatorTest.cc
+ IteratableChecksumValidatorTest.cc\
+ IteratableChunkChecksumValidatorTest.cc\
+ UriFileListParserTest.cc\
+ PeerTest.cc\
+ DefaultPeerStorageTest.cc\
+ RequestFactoryTest.cc\
+ NetrcAuthResolverTest.cc\
+ DefaultAuthResolverTest.cc\
+ RequestTest.cc\
+ HttpRequestTest.cc\
+ UtilTest.cc\
+ OptionHandlerTest.cc\
+ SegmentManTest.cc\
+ BitfieldManTest.cc\
+ GlowFileAllocatorTest.cc\
+ NetrcTest.cc\
+ SingletonHolderTest.cc\
+ HttpHeaderTest.cc\
+ HttpResponseTest.cc\
+ SharedHandleTest.cc\
+ ChunkedEncodingTest.cc\
+ FileTest.cc\
+ OptionTest.cc\
+ Base64Test.cc\
+ CookieBoxTest.cc\
+ DataTest.cc\
+ DictionaryTest.cc\
+ ListTest.cc\
+ MetaFileUtilTest.cc\
+ ShaVisitorTest.cc\
+ PeerMessageUtilTest.cc\
+ DefaultDiskWriterTest.cc\
+ MultiDiskAdaptorTest.cc\
+ Xml2MetalinkProcessorTest.cc\
+ MetalinkerTest.cc\
+ MetalinkEntryTest.cc\
+ FeatureConfigTest.cc\
+ ShareRatioSeedCriteriaTest.cc\
+ TimeSeedCriteriaTest.cc\
+ SpeedCalcTest.cc\
+ DefaultPeerListProcessorTest.cc\
+ AnnounceListTest.cc\
+ TrackerWatcherCommandTest.cc\
+ DefaultBtContextTest.cc\
+ DefaultPieceStorageTest.cc\
+ DefaultBtAnnounceTest.cc\
+ BtRegistryTest.cc\
+ DefaultBtMessageDispatcherTest.cc\
+ MockPeerStorage.h\
+ DefaultBtRequestFactoryTest.cc\
+ BtAllowedFastMessageTest.cc\
+ BtBitfieldMessageTest.cc\
+ BtCancelMessageTest.cc\
+ BtChokeMessageTest.cc\
+ BtHaveAllMessageTest.cc\
+ BtHaveMessageTest.cc\
+ BtHaveNoneMessageTest.cc\
+ BtInterestedMessageTest.cc\
+ BtKeepAliveMessageTest.cc\
+ BtNotInterestedMessageTest.cc\
+ BtPieceMessageTest.cc\
+ BtPortMessageTest.cc\
+ BtRejectMessageTest.cc\
+ BtRequestMessageTest.cc\
+ BtSuggestPieceMessageTest.cc\
+ BtUnchokeMessageTest.cc\
+ BtHandshakeMessageTest.cc\
+ MockBtMessageDispatcher.h\
+ FixedNumberRandomizer.h\
+ MockBtMessageFactory.h\
+ MockBtMessage.h\
+ ConsoleFileAllocationMonitorTest.cc\
+ ChunkChecksumValidatorTest.cc
#aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
#aria2c_LDFLAGS = ${CPPUNIT_LIBS}
diff --git a/test/Makefile.in b/test/Makefile.in
index 51b1fdd1..349f8c20 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -58,7 +58,49 @@ CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__EXEEXT_1 = aria2c$(EXEEXT)
am_aria2c_OBJECTS = AllTest.$(OBJEXT) \
- IteratableChunkChecksumValidatorTest.$(OBJEXT)
+ IteratableChecksumValidatorTest.$(OBJEXT) \
+ IteratableChunkChecksumValidatorTest.$(OBJEXT) \
+ UriFileListParserTest.$(OBJEXT) PeerTest.$(OBJEXT) \
+ DefaultPeerStorageTest.$(OBJEXT) RequestFactoryTest.$(OBJEXT) \
+ NetrcAuthResolverTest.$(OBJEXT) \
+ DefaultAuthResolverTest.$(OBJEXT) RequestTest.$(OBJEXT) \
+ HttpRequestTest.$(OBJEXT) UtilTest.$(OBJEXT) \
+ OptionHandlerTest.$(OBJEXT) SegmentManTest.$(OBJEXT) \
+ BitfieldManTest.$(OBJEXT) GlowFileAllocatorTest.$(OBJEXT) \
+ NetrcTest.$(OBJEXT) SingletonHolderTest.$(OBJEXT) \
+ HttpHeaderTest.$(OBJEXT) HttpResponseTest.$(OBJEXT) \
+ SharedHandleTest.$(OBJEXT) ChunkedEncodingTest.$(OBJEXT) \
+ FileTest.$(OBJEXT) OptionTest.$(OBJEXT) Base64Test.$(OBJEXT) \
+ CookieBoxTest.$(OBJEXT) DataTest.$(OBJEXT) \
+ DictionaryTest.$(OBJEXT) ListTest.$(OBJEXT) \
+ MetaFileUtilTest.$(OBJEXT) ShaVisitorTest.$(OBJEXT) \
+ PeerMessageUtilTest.$(OBJEXT) DefaultDiskWriterTest.$(OBJEXT) \
+ MultiDiskAdaptorTest.$(OBJEXT) \
+ Xml2MetalinkProcessorTest.$(OBJEXT) MetalinkerTest.$(OBJEXT) \
+ MetalinkEntryTest.$(OBJEXT) FeatureConfigTest.$(OBJEXT) \
+ ShareRatioSeedCriteriaTest.$(OBJEXT) \
+ TimeSeedCriteriaTest.$(OBJEXT) SpeedCalcTest.$(OBJEXT) \
+ DefaultPeerListProcessorTest.$(OBJEXT) \
+ AnnounceListTest.$(OBJEXT) TrackerWatcherCommandTest.$(OBJEXT) \
+ DefaultBtContextTest.$(OBJEXT) \
+ DefaultPieceStorageTest.$(OBJEXT) \
+ DefaultBtAnnounceTest.$(OBJEXT) BtRegistryTest.$(OBJEXT) \
+ DefaultBtMessageDispatcherTest.$(OBJEXT) \
+ DefaultBtRequestFactoryTest.$(OBJEXT) \
+ BtAllowedFastMessageTest.$(OBJEXT) \
+ BtBitfieldMessageTest.$(OBJEXT) BtCancelMessageTest.$(OBJEXT) \
+ BtChokeMessageTest.$(OBJEXT) BtHaveAllMessageTest.$(OBJEXT) \
+ BtHaveMessageTest.$(OBJEXT) BtHaveNoneMessageTest.$(OBJEXT) \
+ BtInterestedMessageTest.$(OBJEXT) \
+ BtKeepAliveMessageTest.$(OBJEXT) \
+ BtNotInterestedMessageTest.$(OBJEXT) \
+ BtPieceMessageTest.$(OBJEXT) BtPortMessageTest.$(OBJEXT) \
+ BtRejectMessageTest.$(OBJEXT) BtRequestMessageTest.$(OBJEXT) \
+ BtSuggestPieceMessageTest.$(OBJEXT) \
+ BtUnchokeMessageTest.$(OBJEXT) \
+ BtHandshakeMessageTest.$(OBJEXT) \
+ ConsoleFileAllocationMonitorTest.$(OBJEXT) \
+ ChunkChecksumValidatorTest.$(OBJEXT)
aria2c_OBJECTS = $(am_aria2c_OBJECTS)
am__DEPENDENCIES_1 =
aria2c_DEPENDENCIES = ../src/libaria2c.a $(am__DEPENDENCIES_1)
@@ -70,6 +112,10 @@ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(aria2c_SOURCES)
DIST_SOURCES = $(aria2c_SOURCES)
ETAGS = etags
@@ -219,79 +265,80 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
TESTS = aria2c
aria2c_SOURCES = AllTest.cc\
- IteratableChunkChecksumValidatorTest.cc
-
-# UriFileListParserTest.cc
-# PeerTest.cc\
-# DefaultPeerStorageTest.cc\
-# RequestFactoryTest.cc\
-# NetrcAuthResolverTest.cc\
-# DefaultAuthResolverTest.cc\
-# RequestTest.cc\
-# HttpRequestTest.cc\
-# UtilTest.cc\
-# OptionHandlerTest.cc\
-# SegmentManTest.cc\
-# BitfieldManTest.cc\
-# GlowFileAllocatorTest.cc\
-# NetrcTest.cc\
-# SingletonHolderTest.cc\
-# HttpHeaderTest.cc\
-# HttpResponseTest.cc\
-# SharedHandleTest.cc\
-# ChunkedEncodingTest.cc\
-# FileTest.cc\
-# OptionTest.cc\
-# Base64Test.cc\
-# CookieBoxTest.cc\
-# DataTest.cc\
-# DictionaryTest.cc\
-# ListTest.cc\
-# MetaFileUtilTest.cc\
-# ShaVisitorTest.cc\
-# PeerMessageUtilTest.cc\
-# DefaultDiskWriterTest.cc\
-# MultiDiskAdaptorTest.cc\
-# Xml2MetalinkProcessorTest.cc\
-# MetalinkerTest.cc\
-# MetalinkEntryTest.cc\
-# FeatureConfigTest.cc\
-# ShareRatioSeedCriteriaTest.cc\
-# TimeSeedCriteriaTest.cc\
-# SpeedCalcTest.cc\
-# DefaultPeerListProcessorTest.cc\
-# AnnounceListTest.cc\
-# TrackerWatcherCommandTest.cc\
-# DefaultBtContextTest.cc\
-# DefaultPieceStorageTest.cc\
-# DefaultBtAnnounceTest.cc\
-# BtRegistryTest.cc\
-# DefaultBtMessageDispatcherTest.cc\
-# MockPeerStorage.h\
-# DefaultBtRequestFactoryTest.cc\
-# BtAllowedFastMessageTest.cc\
-# BtBitfieldMessageTest.cc\
-# BtCancelMessageTest.cc\
-# BtChokeMessageTest.cc\
-# BtHaveAllMessageTest.cc\
-# BtHaveMessageTest.cc\
-# BtHaveNoneMessageTest.cc\
-# BtInterestedMessageTest.cc\
-# BtKeepAliveMessageTest.cc\
-# BtNotInterestedMessageTest.cc\
-# BtPieceMessageTest.cc\
-# BtPortMessageTest.cc\
-# BtRejectMessageTest.cc\
-# BtRequestMessageTest.cc\
-# BtSuggestPieceMessageTest.cc\
-# BtUnchokeMessageTest.cc\
-# BtHandshakeMessageTest.cc\
-# MockBtMessageDispatcher.h\
-# FixedNumberRandomizer.h\
-# MockBtMessageFactory.h\
-# MockBtMessage.h\
-# ConsoleFileAllocationMonitorTest.cc\
-# ChunkChecksumValidatorTest.cc
+ IteratableChecksumValidatorTest.cc\
+ IteratableChunkChecksumValidatorTest.cc\
+ UriFileListParserTest.cc\
+ PeerTest.cc\
+ DefaultPeerStorageTest.cc\
+ RequestFactoryTest.cc\
+ NetrcAuthResolverTest.cc\
+ DefaultAuthResolverTest.cc\
+ RequestTest.cc\
+ HttpRequestTest.cc\
+ UtilTest.cc\
+ OptionHandlerTest.cc\
+ SegmentManTest.cc\
+ BitfieldManTest.cc\
+ GlowFileAllocatorTest.cc\
+ NetrcTest.cc\
+ SingletonHolderTest.cc\
+ HttpHeaderTest.cc\
+ HttpResponseTest.cc\
+ SharedHandleTest.cc\
+ ChunkedEncodingTest.cc\
+ FileTest.cc\
+ OptionTest.cc\
+ Base64Test.cc\
+ CookieBoxTest.cc\
+ DataTest.cc\
+ DictionaryTest.cc\
+ ListTest.cc\
+ MetaFileUtilTest.cc\
+ ShaVisitorTest.cc\
+ PeerMessageUtilTest.cc\
+ DefaultDiskWriterTest.cc\
+ MultiDiskAdaptorTest.cc\
+ Xml2MetalinkProcessorTest.cc\
+ MetalinkerTest.cc\
+ MetalinkEntryTest.cc\
+ FeatureConfigTest.cc\
+ ShareRatioSeedCriteriaTest.cc\
+ TimeSeedCriteriaTest.cc\
+ SpeedCalcTest.cc\
+ DefaultPeerListProcessorTest.cc\
+ AnnounceListTest.cc\
+ TrackerWatcherCommandTest.cc\
+ DefaultBtContextTest.cc\
+ DefaultPieceStorageTest.cc\
+ DefaultBtAnnounceTest.cc\
+ BtRegistryTest.cc\
+ DefaultBtMessageDispatcherTest.cc\
+ MockPeerStorage.h\
+ DefaultBtRequestFactoryTest.cc\
+ BtAllowedFastMessageTest.cc\
+ BtBitfieldMessageTest.cc\
+ BtCancelMessageTest.cc\
+ BtChokeMessageTest.cc\
+ BtHaveAllMessageTest.cc\
+ BtHaveMessageTest.cc\
+ BtHaveNoneMessageTest.cc\
+ BtInterestedMessageTest.cc\
+ BtKeepAliveMessageTest.cc\
+ BtNotInterestedMessageTest.cc\
+ BtPieceMessageTest.cc\
+ BtPortMessageTest.cc\
+ BtRejectMessageTest.cc\
+ BtRequestMessageTest.cc\
+ BtSuggestPieceMessageTest.cc\
+ BtUnchokeMessageTest.cc\
+ BtHandshakeMessageTest.cc\
+ MockBtMessageDispatcher.h\
+ FixedNumberRandomizer.h\
+ MockBtMessageFactory.h\
+ MockBtMessage.h\
+ ConsoleFileAllocationMonitorTest.cc\
+ ChunkChecksumValidatorTest.cc
+
#aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
#aria2c_LDFLAGS = ${CPPUNIT_LIBS}
aria2c_LDADD = ../src/libaria2c.a\
@@ -354,7 +401,74 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AnnounceListTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Base64Test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BitfieldManTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtAllowedFastMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtBitfieldMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtCancelMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtChokeMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHandshakeMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveAllMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtHaveNoneMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtInterestedMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtKeepAliveMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtNotInterestedMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtPieceMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtPortMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRegistryTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRejectMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtRequestMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtSuggestPieceMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BtUnchokeMessageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ChunkChecksumValidatorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ChunkedEncodingTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConsoleFileAllocationMonitorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CookieBoxTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DataTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultAuthResolverTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtAnnounceTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtContextTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtMessageDispatcherTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultBtRequestFactoryTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultDiskWriterTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPeerListProcessorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPeerStorageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultPieceStorageTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DictionaryTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FeatureConfigTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GlowFileAllocatorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHeaderTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpRequestTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpResponseTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IteratableChecksumValidatorTest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IteratableChunkChecksumValidatorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ListTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetaFileUtilTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkEntryTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkerTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiDiskAdaptorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NetrcAuthResolverTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NetrcTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionHandlerTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptionTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerMessageUtilTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PeerTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestFactoryTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SegmentManTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShaVisitorTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShareRatioSeedCriteriaTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SharedHandleTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SingletonHolderTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpeedCalcTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeSeedCriteriaTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TrackerWatcherCommandTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UriFileListParserTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UtilTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xml2MetalinkProcessorTest.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
diff --git a/test/MockPeerStorage.h b/test/MockPeerStorage.h
index 7c858741..2ca331a1 100644
--- a/test/MockPeerStorage.h
+++ b/test/MockPeerStorage.h
@@ -21,6 +21,11 @@ public:
copy(peers.begin(), peers.end(), back_inserter(this->peers));
}
+ virtual bool addIncomingPeer(const PeerHandle& peer)
+ {
+ return true;
+ }
+
virtual const Peers& getPeers() {
return peers;
}
@@ -44,6 +49,10 @@ public:
void setStat(const TransferStat& stat) {
this->stat = stat;
}
+
+ virtual void returnPeer(const PeerHandle& peer)
+ {
+ }
};
typedef SharedHandle<MockPeerStorage> MockPeerStorageHandle;
diff --git a/test/TrackerWatcherCommandTest.cc b/test/TrackerWatcherCommandTest.cc
index 9352cb6a..93c8bad1 100644
--- a/test/TrackerWatcherCommandTest.cc
+++ b/test/TrackerWatcherCommandTest.cc
@@ -11,6 +11,7 @@
#include "DefaultPeerStorage.h"
#include "BtRegistry.h"
#include "RequestFactory.h"
+#include "CUIDCounter.h"
#include <cppunit/extensions/HelperMacros.h>
using namespace std;
@@ -31,7 +32,11 @@ public:
RequestFactorySingletonHolder::instance(requestFactory);
}
- void setUp() {}
+ void setUp()
+ {
+ CUIDCounterHandle counter = new CUIDCounter();
+ CUIDCounterSingletonHolder::instance(counter);
+ }
void testCreateCommand();
};
@@ -60,10 +65,7 @@ void TrackerWatcherCommandTest::testCreateCommand() {
BtRegistry::registerBtAnnounce(btContext->getInfoHashAsString(), btAnnounce);
TorrentConsoleDownloadEngine* te = new TorrentConsoleDownloadEngine();
te->option = op;
- te->segmentMan = new SegmentMan();
- te->segmentMan->option = op;
- ByteArrayDiskWriter* byteArrayDiskWriter = new ByteArrayDiskWriter();
- te->segmentMan->diskWriter = byteArrayDiskWriter;
+ te->_requestGroupMan = new RequestGroupMan();
TrackerWatcherCommand command(1, te, btContext);
@@ -72,7 +74,7 @@ void TrackerWatcherCommandTest::testCreateCommand() {
btAnnounce->announceSuccess();
btAnnounce->resetAnnounce();
- te->segmentMan->init();
+ te->_requestGroupMan = new RequestGroupMan();
btRuntime->setHalt(true);
@@ -81,7 +83,7 @@ void TrackerWatcherCommandTest::testCreateCommand() {
btAnnounce->announceSuccess();
btAnnounce->resetAnnounce();
- te->segmentMan->init();
+ te->_requestGroupMan = new RequestGroupMan();
CPPUNIT_ASSERT(btAnnounce->noMoreAnnounce());
diff --git a/test/UriFileListParserTest.cc b/test/UriFileListParserTest.cc
new file mode 100644
index 00000000..ee4240ce
--- /dev/null
+++ b/test/UriFileListParserTest.cc
@@ -0,0 +1,49 @@
+#include "UriFileListParser.h"
+#include "Exception.h"
+#include "Util.h"
+#include <sstream>
+#include <algorithm>
+#include <iostream>
+#include <iterator>
+#include <cppunit/extensions/HelperMacros.h>
+
+using namespace std;
+
+class UriFileListParserTest : public CppUnit::TestFixture {
+
+ CPPUNIT_TEST_SUITE(UriFileListParserTest);
+ CPPUNIT_TEST(testHasNext);
+ CPPUNIT_TEST_SUITE_END();
+private:
+
+public:
+ void setUp() {
+ }
+
+ void testHasNext();
+};
+
+
+CPPUNIT_TEST_SUITE_REGISTRATION( UriFileListParserTest );
+
+string list2String(const Strings& src)
+{
+ ostringstream strm;
+ copy(src.begin(), src.end(), ostream_iterator<string>(strm, " "));
+ return Util::trim(strm.str());
+}
+
+void UriFileListParserTest::testHasNext()
+{
+ UriFileListParser flp("filelist1.txt");
+
+ CPPUNIT_ASSERT(flp.hasNext());
+ CPPUNIT_ASSERT_EQUAL(string("http://localhost/index.html http://localhost2/index.html"), list2String(flp.next()));
+ CPPUNIT_ASSERT(flp.hasNext());
+ CPPUNIT_ASSERT_EQUAL(string("ftp://localhost/aria2.tar.bz2"),
+ list2String(flp.next()));
+ CPPUNIT_ASSERT(flp.hasNext());
+ CPPUNIT_ASSERT_EQUAL(string(""),
+ list2String(flp.next()));
+ CPPUNIT_ASSERT(!flp.hasNext());
+}
diff --git a/test/Xml2MetalinkProcessorTest.cc b/test/Xml2MetalinkProcessorTest.cc
index c758e6e2..f76bcc83 100644
--- a/test/Xml2MetalinkProcessorTest.cc
+++ b/test/Xml2MetalinkProcessorTest.cc
@@ -38,8 +38,8 @@ void Xml2MetalinkProcessorTest::testParseFile() {
CPPUNIT_ASSERT_EQUAL(string("en-US"), entry1->language);
CPPUNIT_ASSERT_EQUAL(string("Linux-x86"), entry1->os);
CPPUNIT_ASSERT_EQUAL(string("a96cf3f0266b91d87d5124cf94326422800b627d"),
- entry1->checksum.getMessageDigest());
- CPPUNIT_ASSERT(DIGEST_ALGO_SHA1 == entry1->checksum.getDigestAlgo());
+ entry1->checksum->getMessageDigest());
+ CPPUNIT_ASSERT(DIGEST_ALGO_SHA1 == entry1->checksum->getDigestAlgo());
MetalinkResources::iterator resourceItr1 = entry1->resources.begin();
MetalinkResourceHandle resource1 = *resourceItr1;
@@ -65,7 +65,7 @@ void Xml2MetalinkProcessorTest::testParseFile() {
CPPUNIT_ASSERT_EQUAL(string("ja-JP"), entry2->language);
CPPUNIT_ASSERT_EQUAL(string("Linux-m68k"), entry2->os);
CPPUNIT_ASSERT_EQUAL(string("4c255b0ed130f5ea880f0aa061c3da0487e251cc"),
- entry2->checksum.getMessageDigest());
+ entry2->checksum->getMessageDigest());
CPPUNIT_ASSERT_EQUAL((size_t)2, entry2->chunkChecksum->pieceHashes.size());
CPPUNIT_ASSERT_EQUAL(262144, entry2->chunkChecksum->pieceLength);
CPPUNIT_ASSERT_EQUAL(string("179463a88d79cbf0b1923991708aead914f26142"),
@@ -73,7 +73,7 @@ void Xml2MetalinkProcessorTest::testParseFile() {
CPPUNIT_ASSERT_EQUAL(string("fecf8bc9a1647505fe16746f94e97a477597dbf3"),
entry2->chunkChecksum->pieceHashes.at(1));
- CPPUNIT_ASSERT(DIGEST_ALGO_SHA1 == entry2->checksum.getDigestAlgo());
+ CPPUNIT_ASSERT(DIGEST_ALGO_SHA1 == entry2->checksum->getDigestAlgo());
} catch(Exception* e) {
CPPUNIT_FAIL(e->getMsg());
delete e;