diff --git a/include/log/catalog/mipi_builder.hpp b/include/log/catalog/mipi_builder.hpp index 323b1591..a8364149 100644 --- a/include/log/catalog/mipi_builder.hpp +++ b/include/log/catalog/mipi_builder.hpp @@ -103,7 +103,8 @@ template <> struct builder { } else { constexpr auto header_size = defn::catalog_msg_t::size::value; - constexpr auto payload_size = (sizeof(id) + ... + sizeof(Ts)); + constexpr auto payload_size = + (sizeof(id) + ... + sizeof(pack_as_t)); using storage_t = std::array; return catalog_builder{}.template build(id, m, diff --git a/test/log/encoder.cpp b/test/log/encoder.cpp index ad61efcf..b99e69b1 100644 --- a/test/log/encoder.cpp +++ b/test/log/encoder.cpp @@ -83,7 +83,6 @@ constexpr auto check_at = [](auto span, auto dw_idx, std::uint32_t expected) { template constexpr auto check_buffer = [](auto data) { - REQUIRE(data.size() > (sizeof...(Expected) - 1) * sizeof(std::uint32_t)); auto idx = std::size_t{}; (check_at(data, idx++, Expected), ...); }; @@ -102,8 +101,9 @@ struct test_log_args_destination { template struct test_log_buf_destination { - template - auto log_by_buf(stdx::span data) const { + auto log_by_buf(stdx::span data) const { + REQUIRE(data.size() == + (sizeof...(ExpectedArgs) + 1) * sizeof(std::uint32_t)); constexpr auto Header = expected_msg_header(Level, test_module_id, sizeof...(ExpectedArgs)); check_buffer(data); @@ -120,8 +120,7 @@ struct test_log_version_destination { ++num_log_args_calls; } - template - auto log_by_buf(stdx::span data) const { + auto log_by_buf(stdx::span data) const { check_buffer(data); ++num_log_args_calls; } @@ -212,9 +211,9 @@ TEST_CASE("log more than two arguments", "[mipi]") { test_critical_section::count = 0; auto cfg = logging::binary::config{ test_log_buf_destination{}}; + 18u, 97u, 98u>{}}; cfg.logger.log_msg( - stdx::ct_format<"{} {} {} {}">(17u, 18u, 19u, 20u)); + stdx::ct_format<"{} {} {} {}">(17u, 18u, 'a', 'b')); CHECK(test_critical_section::count == 2); } }