Changeset View
Changeset View
Standalone View
Standalone View
src/test/net_tests.cpp
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | public: | ||||
uint64_t GetMaxBlockSize() const override { return nMaxBlockSize; } | uint64_t GetMaxBlockSize() const override { return nMaxBlockSize; } | ||||
private: | private: | ||||
uint64_t nMaxBlockSize; | uint64_t nMaxBlockSize; | ||||
}; | }; | ||||
static CDataStream AddrmanToStream(CAddrManSerializationMock &_addrman) { | static CDataStream AddrmanToStream(CAddrManSerializationMock &_addrman) { | ||||
CDataStream ssPeersIn(SER_DISK, CLIENT_VERSION); | CDataStream ssPeersIn(SER_DISK, CLIENT_VERSION); | ||||
ssPeersIn << FLATDATA(Params().DiskMagic()); | ssPeersIn << Params().DiskMagic(); | ||||
ssPeersIn << _addrman; | ssPeersIn << _addrman; | ||||
std::string str = ssPeersIn.str(); | std::string str = ssPeersIn.str(); | ||||
std::vector<uint8_t> vchData(str.begin(), str.end()); | std::vector<uint8_t> vchData(str.begin(), str.end()); | ||||
return CDataStream(vchData, SER_DISK, CLIENT_VERSION); | return CDataStream(vchData, SER_DISK, CLIENT_VERSION); | ||||
} | } | ||||
BOOST_FIXTURE_TEST_SUITE(net_tests, BasicTestingSetup) | BOOST_FIXTURE_TEST_SUITE(net_tests, BasicTestingSetup) | ||||
Show All 27 Lines | BOOST_AUTO_TEST_CASE(caddrdb_read) { | ||||
// Test that the de-serialization does not throw an exception. | // Test that the de-serialization does not throw an exception. | ||||
CDataStream ssPeers1 = AddrmanToStream(addrmanUncorrupted); | CDataStream ssPeers1 = AddrmanToStream(addrmanUncorrupted); | ||||
bool exceptionThrown = false; | bool exceptionThrown = false; | ||||
CAddrMan addrman1; | CAddrMan addrman1; | ||||
BOOST_CHECK(addrman1.size() == 0); | BOOST_CHECK(addrman1.size() == 0); | ||||
try { | try { | ||||
uint8_t pchMsgTmp[4]; | uint8_t pchMsgTmp[4]; | ||||
ssPeers1 >> FLATDATA(pchMsgTmp); | ssPeers1 >> pchMsgTmp; | ||||
ssPeers1 >> addrman1; | ssPeers1 >> addrman1; | ||||
} catch (const std::exception &e) { | } catch (const std::exception &e) { | ||||
exceptionThrown = true; | exceptionThrown = true; | ||||
} | } | ||||
BOOST_CHECK(addrman1.size() == 3); | BOOST_CHECK(addrman1.size() == 3); | ||||
BOOST_CHECK(exceptionThrown == false); | BOOST_CHECK(exceptionThrown == false); | ||||
Show All 14 Lines | BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted) { | ||||
// Test that the de-serialization of corrupted addrman throws an exception. | // Test that the de-serialization of corrupted addrman throws an exception. | ||||
CDataStream ssPeers1 = AddrmanToStream(addrmanCorrupted); | CDataStream ssPeers1 = AddrmanToStream(addrmanCorrupted); | ||||
bool exceptionThrown = false; | bool exceptionThrown = false; | ||||
CAddrMan addrman1; | CAddrMan addrman1; | ||||
BOOST_CHECK(addrman1.size() == 0); | BOOST_CHECK(addrman1.size() == 0); | ||||
try { | try { | ||||
uint8_t pchMsgTmp[4]; | uint8_t pchMsgTmp[4]; | ||||
ssPeers1 >> FLATDATA(pchMsgTmp); | ssPeers1 >> pchMsgTmp; | ||||
ssPeers1 >> addrman1; | ssPeers1 >> addrman1; | ||||
} catch (const std::exception &e) { | } catch (const std::exception &e) { | ||||
exceptionThrown = true; | exceptionThrown = true; | ||||
} | } | ||||
// Even through de-serialization failed addrman is not left in a clean | // Even through de-serialization failed addrman is not left in a clean | ||||
// state. | // state. | ||||
BOOST_CHECK(addrman1.size() == 1); | BOOST_CHECK(addrman1.size() == 1); | ||||
BOOST_CHECK(exceptionThrown); | BOOST_CHECK(exceptionThrown); | ||||
▲ Show 20 Lines • Show All 66 Lines • Show Last 20 Lines |