config: separate the asmap finding and parsing checks

and update the tests.
This commit is contained in:
Jon Atack 2019-12-29 18:52:10 +01:00
parent 81c38a2497
commit b8d0412b21
No known key found for this signature in database
GPG key ID: 4F5721B3D0E3921D
2 changed files with 6 additions and 2 deletions

View file

@ -1834,9 +1834,13 @@ bool AppInitMain(NodeContext& node)
if (!asmap_path.is_absolute()) {
asmap_path = GetDataDir() / asmap_path;
}
if (!fs::exists(asmap_path)) {
InitError(strprintf(_("Could not find asmap file %s").translated, asmap_path));
return false;
}
std::vector<bool> asmap = CAddrMan::DecodeAsmap(asmap_path);
if (asmap.size() == 0) {
InitError(strprintf(_("Could not find or parse specified asmap: '%s'").translated, asmap_path));
InitError(strprintf(_("Could not parse asmap file '%s'").translated, asmap_path));
return false;
}
const uint256 asmap_version = SerializeHash(asmap);

View file

@ -75,7 +75,7 @@ class AsmapTest(BitcoinTestFramework):
def test_default_asmap_with_missing_file(self):
self.log.info('Test bitcoind -asmap with missing default map file')
self.stop_node(0)
msg = "Error: Could not find or parse specified asmap: '\"{}\"'".format(self.default_asmap)
msg = "Error: Could not find asmap file '\"{}\"'".format(self.default_asmap)
self.node.assert_start_raises_init_error(extra_args=['-asmap'], expected_msg=msg)
def run_test(self):