From 9ab4f325ce5906f08b20da0a88383e9ec91e09b0 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Thu, 18 Jun 2026 20:45:11 -0400 Subject: [PATCH] test: Check some anomalous results in CI --- include/xrpl/basics/base_uint.h | 2 +- src/test/basics/base_uint_test.cpp | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/include/xrpl/basics/base_uint.h b/include/xrpl/basics/base_uint.h index f94b58a3fd..93520ff699 100644 --- a/include/xrpl/basics/base_uint.h +++ b/include/xrpl/basics/base_uint.h @@ -78,7 +78,7 @@ class BaseUInt // This is really big-endian in byte order. // We sometimes use std::uint32_t for speed. - std::array data_{}; + std::array data_; public: //-------------------------------------------------------------------------- diff --git a/src/test/basics/base_uint_test.cpp b/src/test/basics/base_uint_test.cpp index 2a9518e2a7..f50f72247c 100644 --- a/src/test/basics/base_uint_test.cpp +++ b/src/test/basics/base_uint_test.cpp @@ -130,7 +130,7 @@ struct base_uint_test : beast::unit_test::Suite Blob const tooSmall{1, 2, 3, 4, 5, 6, 7, 8}; test96 const result = test96::fromRaw(tooSmall); auto const resultText = to_string(result); - BEAST_EXPECTS(resultText == "010203040506070800000000", resultText); + BEAST_EXPECTS(resultText.substr(0, 16) == "0102030405060708", resultText); } // Container larger than the base_uint (16 bytes vs 12 bytes for @@ -226,6 +226,19 @@ struct base_uint_test : beast::unit_test::Suite BEAST_EXPECT(d == 0); } + { + // There are several ways to create a zero. beast::kZero is tested above. Test some + // others. + test96 z1; + BEAST_EXPECTS(z1 == z, to_string(z1)); + + test96 z2{}; + BEAST_EXPECTS(z2 == z, to_string(z2)); + + test96 z3{0u}; + BEAST_EXPECTS(z3 == z, to_string(z2)); + } + test96 n{z}; n++; BEAST_EXPECT(n == test96(1));