diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-02-04 21:50:09 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-02-04 21:50:09 +0900 |
| commit | 3fc45edaa7eeb944c42b099f66d5eec6a9382bc2 (patch) | |
| tree | 1f221fa721e4679b69bc53d2351fbcb5657ccdfc /test/SessionSerializerTest.cc | |
| parent | d1c88fbabf8ecf82111fb03495c0246958661903 (diff) | |
Fix bug that active downloads are not saved with --save-session-interval
Diffstat (limited to 'test/SessionSerializerTest.cc')
| -rw-r--r-- | test/SessionSerializerTest.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/SessionSerializerTest.cc b/test/SessionSerializerTest.cc index 2f20e4dc..fbb1b194 100644 --- a/test/SessionSerializerTest.cc +++ b/test/SessionSerializerTest.cc @@ -12,6 +12,8 @@ #include "Option.h" #include "a2functional.h" #include "FileEntry.h" +#include "SelectEventPoll.h" +#include "DownloadEngine.h" namespace aria2 { @@ -74,6 +76,13 @@ void SessionSerializerTest::testSave() for(size_t i = 0; i < sizeof(drs)/sizeof(drs[0]); ++i) { rgman->addDownloadResult(drs[i]); } + + + DownloadEngine e(SharedHandle<EventPoll>(new SelectEventPoll())); + e.setOption(option.get()); + rgman->fillRequestGroupFromReserver(&e); + CPPUNIT_ASSERT_EQUAL((size_t)1, rgman->getRequestGroups().size()); + std::string filename = A2_TEST_OUT_DIR"/aria2_SessionSerializerTest_testSave"; s.save(filename); std::ifstream ss(filename.c_str(), std::ios::binary); @@ -82,6 +91,7 @@ void SessionSerializerTest::testSave() CPPUNIT_ASSERT_EQUAL(std::string("http://error\t"), line); std::getline(ss, line); CPPUNIT_ASSERT_EQUAL(fmt(" gid=%s", drs[1]->gid->toHex().c_str()), line); + // Check active download is also saved std::getline(ss, line); CPPUNIT_ASSERT_EQUAL(uris[0]+"\t"+uris[1]+"\t", line); std::getline(ss, line); |
