From ed9ba8af08f857bda3ce2f77413317374c22d7b4 Mon Sep 17 00:00:00 2001 From: John Newbery Date: Thu, 5 Aug 2021 13:51:52 +0100 Subject: [PATCH] [tests] Remove CAddrMan.Clear() call from CAddrDB::Read() `bool CAddrDB::Read(CAddrMan& addr, CDataStream& ssPeers)` is _only_ called from the tests, and the call to addr.Clear() only exists so that a test that Clear() is called passes. Remove that test and the call. --- src/addrdb.cpp | 7 +------ src/test/addrman_tests.cpp | 3 +-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/addrdb.cpp b/src/addrdb.cpp index c3e224ee83d..a5383be7cf7 100644 --- a/src/addrdb.cpp +++ b/src/addrdb.cpp @@ -244,12 +244,7 @@ bool CAddrDB::Read(CAddrMan& addr) bool CAddrDB::Read(CAddrMan& addr, CDataStream& ssPeers) { - bool ret = DeserializeDB(ssPeers, addr, false); - if (!ret) { - // Ensure addrman is left in a clean state - addr.Clear(); - } - return ret; + return DeserializeDB(ssPeers, addr, false); } void DumpAnchors(const fs::path& anchors_db_path, const std::vector& anchors) diff --git a/src/test/addrman_tests.cpp b/src/test/addrman_tests.cpp index c52baa4e8ba..255b5076e77 100644 --- a/src/test/addrman_tests.cpp +++ b/src/test/addrman_tests.cpp @@ -1083,13 +1083,12 @@ BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted) BOOST_CHECK(addrman1.size() == 1); BOOST_CHECK(exceptionThrown); - // Test that CAddrDB::Read leaves addrman in a clean state if de-serialization fails. + // Test that CAddrDB::Read fails if peers.dat is corrupt CDataStream ssPeers2 = AddrmanToStream(addrmanCorrupted); CAddrMan addrman2(/* deterministic */ false, /* consistency_check_ratio */ 100); BOOST_CHECK(addrman2.size() == 0); BOOST_CHECK(!CAddrDB::Read(addrman2, ssPeers2)); - BOOST_CHECK(addrman2.size() == 0); }