Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion include/log/catalog/mipi_builder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ template <> struct builder<defn::catalog_msg_t> {
} else {
constexpr auto header_size =
defn::catalog_msg_t::size<std::uint8_t>::value;
constexpr auto payload_size = (sizeof(id) + ... + sizeof(Ts));
constexpr auto payload_size =
(sizeof(id) + ... + sizeof(pack_as_t<Ts>));
using storage_t =
std::array<std::uint8_t, header_size + payload_size>;
return catalog_builder<storage_t>{}.template build<Level>(id, m,
Expand Down
13 changes: 6 additions & 7 deletions test/log/encoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ constexpr auto check_at = [](auto span, auto dw_idx, std::uint32_t expected) {

template <std::uint32_t... Expected>
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), ...);
};
Expand All @@ -102,8 +101,9 @@ struct test_log_args_destination {

template <logging::level Level, typename ModuleId, auto... ExpectedArgs>
struct test_log_buf_destination {
template <std::size_t N>
auto log_by_buf(stdx::span<std::uint8_t const, N> data) const {
auto log_by_buf(stdx::span<std::uint8_t const> 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<Header, ExpectedArgs...>(data);
Expand All @@ -120,8 +120,7 @@ struct test_log_version_destination {
++num_log_args_calls;
}

template <std::size_t N>
auto log_by_buf(stdx::span<std::uint8_t const, N> data) const {
auto log_by_buf(stdx::span<std::uint8_t const> data) const {
check_buffer<Header, ExpectedArgs...>(data);
++num_log_args_calls;
}
Expand Down Expand Up @@ -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<logging::level::TRACE, log_env, 42u, 17u,
18u, 19u, 20u>{}};
18u, 97u, 98u>{}};
cfg.logger.log_msg<log_env>(
stdx::ct_format<"{} {} {} {}">(17u, 18u, 19u, 20u));
stdx::ct_format<"{} {} {} {}">(17u, 18u, 'a', 'b'));
CHECK(test_critical_section::count == 2);
}
}
Expand Down
Loading