From 52724f5ae59d6194a2e86b6b820a24bdf552f0fc Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Wed, 21 Oct 2026 11:05:27 +0200 Subject: [PATCH] Rename the json_view test helpers that clash in the unity build unit-json_view_builder.cpp has its own document generator besides json_view_test::generator, and unit-json_view_edit.cpp and unit-json_view_image.cpp define rng() and bits() like unit-json_view.cpp, each in an anonymous namespace. In one batch these are ambiguous or redefined, so give the file-local ones their own names. Signed-off-by: Niels Lohmann --- tests/src/unit-json_view_builder.cpp | 4 ++-- tests/src/unit-json_view_edit.cpp | 14 +++++++------- tests/src/unit-json_view_image.cpp | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/src/unit-json_view_builder.cpp b/tests/src/unit-json_view_builder.cpp index b43af739d..4042a4b81 100644 --- a/tests/src/unit-json_view_builder.cpp +++ b/tests/src/unit-json_view_builder.cpp @@ -173,7 +173,7 @@ void check_string(const std::string& content) } // a small deterministic generator of documents -struct generator +struct builder_generator { std::mt19937 rng{5295}; // NOLINT(cert-msc32-c,cert-msc51-cpp,bugprone-random-generator-seed) @@ -407,7 +407,7 @@ TEST_CASE("json_view builder") SECTION("generated documents and damaged copies") { - generator g; + builder_generator g; for (int i = 0; i < 3000; ++i) { std::string text; diff --git a/tests/src/unit-json_view_edit.cpp b/tests/src/unit-json_view_edit.cpp index 5c3b4396a..bd16b54dd 100644 --- a/tests/src/unit-json_view_edit.cpp +++ b/tests/src/unit-json_view_edit.cpp @@ -39,7 +39,7 @@ using ptr_t = ordered_json::json_pointer; namespace { -std::uint32_t rng() +std::uint32_t edit_rng() { static std::mt19937 generator(5295); // NOLINT(cert-msc32-c,cert-msc51-cpp,bugprone-random-generator-seed): reproducible // result_type is std::uint_fast32_t, which may be wider than 32 bits @@ -49,12 +49,12 @@ std::uint32_t rng() int r(int n) { - return static_cast(rng() % static_cast(n)); + return static_cast(edit_rng() % static_cast(n)); } int counter = 0; -std::uint64_t bits(double x) +std::uint64_t edit_bits(double x) { std::uint64_t b = 0; std::memcpy(&b, &x, sizeof(b)); @@ -81,11 +81,11 @@ ordered_json random_scalar() case 1: return r(2) == 0; case 2: - return static_cast(rng()) - 2147483648LL; + return static_cast(edit_rng()) - 2147483648LL; case 3: - return (static_cast(rng()) * 4294967296ULL) + rng(); + return (static_cast(edit_rng()) * 4294967296ULL) + edit_rng(); case 4: - return static_cast(static_cast(rng())) / (1 + r(1000)); + return static_cast(static_cast(edit_rng())) / (1 + r(1000)); case 5: return r(2) == 0 ? 1e300 * (r(2) == 0 ? 1 : -1) : 5e-324; case 6: @@ -178,7 +178,7 @@ void compare(const ordered_json_editable_view& v, const ordered_json& j) } else if (j.is_number_float()) { - CHECK(bits(v.get()) == bits(j.get())); + CHECK(edit_bits(v.get()) == edit_bits(j.get())); } else if (j.is_number_integer()) { diff --git a/tests/src/unit-json_view_image.cpp b/tests/src/unit-json_view_image.cpp index 50023fe63..b9c43f69b 100644 --- a/tests/src/unit-json_view_image.cpp +++ b/tests/src/unit-json_view_image.cpp @@ -160,7 +160,7 @@ void check_round_trip(const Document& d) CHECK(e.root().dump() == d.root().dump()); } -std::uint32_t rng() +std::uint32_t image_rng() { static std::mt19937 generator(5295); // NOLINT(cert-msc32-c,cert-msc51-cpp,bugprone-random-generator-seed): reproducible // result_type is std::uint_fast32_t, which may be wider than 32 bits @@ -1203,12 +1203,12 @@ TEST_CASE("json_view images: damaged images") for (int round = 0; round < 3000; ++round) { std::vector b = image; - const std::uint32_t flips = 1 + (rng() % 3); + const std::uint32_t flips = 1 + (image_rng() % 3); for (std::uint32_t k = 0; k < flips; ++k) { // mostly the nodes, where the damage matters most - const std::size_t at = rng() % 4 != 0 ? header_size + (rng() % (b.size() - header_size)) : rng() % b.size(); - b[at] = static_cast(rng() % 3 == 0 ? rng() : b[at] ^ (1u << (rng() % 8))); + const std::size_t at = image_rng() % 4 != 0 ? header_size + (image_rng() % (b.size() - header_size)) : image_rng() % b.size(); + b[at] = static_cast(image_rng() % 3 == 0 ? image_rng() : b[at] ^ (1u << (image_rng() % 8))); } for (const image_check check : {