Changeset View
Changeset View
Standalone View
Standalone View
src/test/descriptor_tests.cpp
Show All 12 Lines | |||||
#include <string> | #include <string> | ||||
#include <vector> | #include <vector> | ||||
namespace { | namespace { | ||||
void CheckUnparsable(const std::string &prv, const std::string &pub) { | void CheckUnparsable(const std::string &prv, const std::string &pub) { | ||||
FlatSigningProvider keys_priv, keys_pub; | FlatSigningProvider keys_priv, keys_pub; | ||||
auto parse_priv = Parse(prv, keys_priv); | std::string error; | ||||
auto parse_pub = Parse(pub, keys_pub); | auto parse_priv = Parse(prv, keys_priv, error); | ||||
auto parse_pub = Parse(pub, keys_pub, error); | |||||
BOOST_CHECK_MESSAGE(!parse_priv, prv); | BOOST_CHECK_MESSAGE(!parse_priv, prv); | ||||
BOOST_CHECK_MESSAGE(!parse_pub, pub); | BOOST_CHECK_MESSAGE(!parse_pub, pub); | ||||
} | } | ||||
constexpr int DEFAULT = 0; | constexpr int DEFAULT = 0; | ||||
// Expected to be ranged descriptor | // Expected to be ranged descriptor | ||||
constexpr int RANGE = 1; | constexpr int RANGE = 1; | ||||
// Derivation needs access to private keys | // Derivation needs access to private keys | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
const std::set<std::vector<uint32_t>> ONLY_EMPTY{{}}; | const std::set<std::vector<uint32_t>> ONLY_EMPTY{{}}; | ||||
void Check(const std::string &prv, const std::string &pub, int flags, | void Check(const std::string &prv, const std::string &pub, int flags, | ||||
const std::vector<std::vector<std::string>> &scripts, | const std::vector<std::vector<std::string>> &scripts, | ||||
const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY) { | const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY) { | ||||
FlatSigningProvider keys_priv, keys_pub; | FlatSigningProvider keys_priv, keys_pub; | ||||
std::set<std::vector<uint32_t>> left_paths = paths; | std::set<std::vector<uint32_t>> left_paths = paths; | ||||
std::string error; | |||||
// Check that parsing succeeds. | // Check that parsing succeeds. | ||||
auto parse_priv = Parse(MaybeUseHInsteadOfApostrophy(prv), keys_priv); | auto parse_priv = | ||||
auto parse_pub = Parse(MaybeUseHInsteadOfApostrophy(pub), keys_pub); | Parse(MaybeUseHInsteadOfApostrophy(prv), keys_priv, error); | ||||
auto parse_pub = Parse(MaybeUseHInsteadOfApostrophy(pub), keys_pub, error); | |||||
BOOST_CHECK(parse_priv); | BOOST_CHECK(parse_priv); | ||||
BOOST_CHECK(parse_pub); | BOOST_CHECK(parse_pub); | ||||
// Check private keys are extracted from the private version but not the | // Check private keys are extracted from the private version but not the | ||||
// public one. | // public one. | ||||
BOOST_CHECK(keys_priv.keys.size()); | BOOST_CHECK(keys_priv.keys.size()); | ||||
BOOST_CHECK(!keys_pub.keys.size()); | BOOST_CHECK(!keys_pub.keys.size()); | ||||
▲ Show 20 Lines • Show All 420 Lines • Show Last 20 Lines |