mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-05-01 01:10:30 +02:00
Merge #20464: refactor: Treat CDataStream bytes as uint8_t
fa29272459Remove redundant MakeUCharSpan wrappers (MarcoFalke)faf4aa2f47Remove CDataStream::Init in favor of C++11 member initialization (MarcoFalke)fada14b948Treat CDataStream bytes as uint8_t (MarcoFalke)fa8bdb048erefactor: Drop CDataStream constructors in favor of one taking a Span of bytes (MarcoFalke)faa96f841fRemove unused CDataStream methods (MarcoFalke) Pull request description: Using `uint8_t` for raw bytes has a style benefit: * The signedness is clear from reading the code, as it does not depend on the architecture Other clean-ups in this pull include: * Remove unused methods * Constructor is simplified with `Span` * Remove `Init()` member in favor of C++11 member initialization ACKs for top commit: laanwj: code review ACKfa29272459theStack: ACKfa29272459🍾 Tree-SHA512: 931ee28bd99843d7e894b48e90e1187ffb0278677c267044b3c0c255069d9bbd9298ab2e539b1002a30b543d240450eaec718ef4ee95a7fd4be0a295e926343f
This commit is contained in:
@@ -42,11 +42,7 @@ BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize)
|
||||
CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
|
||||
stream << filter;
|
||||
|
||||
std::vector<unsigned char> vch = ParseHex("03614e9b050000000000000001");
|
||||
std::vector<char> expected(vch.size());
|
||||
|
||||
for (unsigned int i = 0; i < vch.size(); i++)
|
||||
expected[i] = (char)vch[i];
|
||||
std::vector<uint8_t> expected = ParseHex("03614e9b050000000000000001");
|
||||
|
||||
BOOST_CHECK_EQUAL_COLLECTIONS(stream.begin(), stream.end(), expected.begin(), expected.end());
|
||||
|
||||
@@ -72,11 +68,7 @@ BOOST_AUTO_TEST_CASE(bloom_create_insert_serialize_with_tweak)
|
||||
CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
|
||||
stream << filter;
|
||||
|
||||
std::vector<unsigned char> vch = ParseHex("03ce4299050000000100008001");
|
||||
std::vector<char> expected(vch.size());
|
||||
|
||||
for (unsigned int i = 0; i < vch.size(); i++)
|
||||
expected[i] = (char)vch[i];
|
||||
std::vector<uint8_t> expected = ParseHex("03ce4299050000000100008001");
|
||||
|
||||
BOOST_CHECK_EQUAL_COLLECTIONS(stream.begin(), stream.end(), expected.begin(), expected.end());
|
||||
}
|
||||
@@ -96,11 +88,7 @@ BOOST_AUTO_TEST_CASE(bloom_create_insert_key)
|
||||
CDataStream stream(SER_NETWORK, PROTOCOL_VERSION);
|
||||
stream << filter;
|
||||
|
||||
std::vector<unsigned char> vch = ParseHex("038fc16b080000000000000001");
|
||||
std::vector<char> expected(vch.size());
|
||||
|
||||
for (unsigned int i = 0; i < vch.size(); i++)
|
||||
expected[i] = (char)vch[i];
|
||||
std::vector<unsigned char> expected = ParseHex("038fc16b080000000000000001");
|
||||
|
||||
BOOST_CHECK_EQUAL_COLLECTIONS(stream.begin(), stream.end(), expected.begin(), expected.end());
|
||||
}
|
||||
@@ -352,11 +340,7 @@ BOOST_AUTO_TEST_CASE(merkle_block_3_and_serialize)
|
||||
CDataStream merkleStream(SER_NETWORK, PROTOCOL_VERSION);
|
||||
merkleStream << merkleBlock;
|
||||
|
||||
std::vector<unsigned char> vch = ParseHex("0100000079cda856b143d9db2c1caff01d1aecc8630d30625d10e8b4b8b0000000000000b50cc069d6a3e33e3ff84a5c41d9d3febe7c770fdcc96b2c3ff60abe184f196367291b4d4c86041b8fa45d630100000001b50cc069d6a3e33e3ff84a5c41d9d3febe7c770fdcc96b2c3ff60abe184f19630101");
|
||||
std::vector<char> expected(vch.size());
|
||||
|
||||
for (unsigned int i = 0; i < vch.size(); i++)
|
||||
expected[i] = (char)vch[i];
|
||||
std::vector<uint8_t> expected = ParseHex("0100000079cda856b143d9db2c1caff01d1aecc8630d30625d10e8b4b8b0000000000000b50cc069d6a3e33e3ff84a5c41d9d3febe7c770fdcc96b2c3ff60abe184f196367291b4d4c86041b8fa45d630100000001b50cc069d6a3e33e3ff84a5c41d9d3febe7c770fdcc96b2c3ff60abe184f19630101");
|
||||
|
||||
BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), merkleStream.begin(), merkleStream.end());
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ void CallOneOf(FuzzedDataProvider& fuzzed_data_provider, Callables... callables)
|
||||
|
||||
[[nodiscard]] inline CDataStream ConsumeDataStream(FuzzedDataProvider& fuzzed_data_provider, const size_t max_length = 4096) noexcept
|
||||
{
|
||||
return {ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length), SER_NETWORK, INIT_PROTO_VERSION};
|
||||
return CDataStream{ConsumeRandomLengthByteVector(fuzzed_data_provider, max_length), SER_NETWORK, INIT_PROTO_VERSION};
|
||||
}
|
||||
|
||||
[[nodiscard]] inline std::vector<std::string> ConsumeRandomLengthStringVector(FuzzedDataProvider& fuzzed_data_provider, const size_t max_vector_size = 16, const size_t max_string_length = 16) noexcept
|
||||
|
||||
@@ -320,7 +320,7 @@ BOOST_AUTO_TEST_CASE(insert_delete)
|
||||
|
||||
ss.insert(ss.end(), c);
|
||||
BOOST_CHECK_EQUAL(ss.size(), 6U);
|
||||
BOOST_CHECK_EQUAL(ss[4], (char)0xff);
|
||||
BOOST_CHECK_EQUAL(ss[4], 0xff);
|
||||
BOOST_CHECK_EQUAL(ss[5], c);
|
||||
|
||||
ss.insert(ss.begin()+2, c);
|
||||
@@ -334,19 +334,14 @@ BOOST_AUTO_TEST_CASE(insert_delete)
|
||||
|
||||
ss.erase(ss.begin()+ss.size()-1);
|
||||
BOOST_CHECK_EQUAL(ss.size(), 5U);
|
||||
BOOST_CHECK_EQUAL(ss[4], (char)0xff);
|
||||
BOOST_CHECK_EQUAL(ss[4], 0xff);
|
||||
|
||||
ss.erase(ss.begin()+1);
|
||||
BOOST_CHECK_EQUAL(ss.size(), 4U);
|
||||
BOOST_CHECK_EQUAL(ss[0], 0);
|
||||
BOOST_CHECK_EQUAL(ss[1], 1);
|
||||
BOOST_CHECK_EQUAL(ss[2], 2);
|
||||
BOOST_CHECK_EQUAL(ss[3], (char)0xff);
|
||||
|
||||
// Make sure GetAndClear does the right thing:
|
||||
CSerializeData d;
|
||||
ss.GetAndClear(d);
|
||||
BOOST_CHECK_EQUAL(ss.size(), 0U);
|
||||
BOOST_CHECK_EQUAL(ss[3], 0xff);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(class_methods)
|
||||
|
||||
@@ -149,7 +149,7 @@ BOOST_AUTO_TEST_CASE(bitstream_reader_writer)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(streams_serializedata_xor)
|
||||
{
|
||||
std::vector<char> in;
|
||||
std::vector<uint8_t> in;
|
||||
std::vector<char> expected_xor;
|
||||
std::vector<unsigned char> key;
|
||||
CDataStream ds(in, 0, 0);
|
||||
|
||||
Reference in New Issue
Block a user