From 94f4ce304495547b48ba12e13a8484a095c38c3f Mon Sep 17 00:00:00 2001 From: clydebarrow <2366188+clydebarrow@users.noreply.github.com> Date: Sun, 18 Oct 2026 18:26:28 +1100 Subject: [PATCH] [packet_interface] Use a local to_vector() in tests Co-Authored-By: Claude Opus 5.5 --- .../components/packet_interface/hdlc_reliability.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/components/packet_interface/hdlc_reliability.cpp b/tests/components/packet_interface/hdlc_reliability.cpp index a22ec423e76..87532918b61 100644 --- a/tests/components/packet_interface/hdlc_reliability.cpp +++ b/tests/components/packet_interface/hdlc_reliability.cpp @@ -10,6 +10,13 @@ namespace esphome::packet_interface::testing { +// Copies a packet into a vector, for comparing in tests +static std::vector to_vector(const esphome::packet_interface::PacketBuffer &data) { + std::vector result(data.size()); + data.copy_to(result.data(), result.size()); + return result; +} + using Frame = std::vector; // A link layer that records what is sent, so a test can deliver it to the peer @@ -22,7 +29,7 @@ class MockLink : public PacketInterface { return false; } this->budget--; - this->sent.push_back(data.to_vector()); + this->sent.push_back(to_vector(data)); return true; } void inject(const Frame &frame) { this->on_receive_from_interface_(PacketBuffer(frame), {}); } @@ -46,7 +53,7 @@ struct Peer { this->hdlc->set_max_retries(3); this->hdlc->setup(); this->hdlc->add_packet_interface_listener( - [this](const PacketBuffer &data, const PacketMetaData &) { this->received.push_back(data.to_vector()); }); + [this](const PacketBuffer &data, const PacketMetaData &) { this->received.push_back(to_vector(data)); }); this->hdlc->add_on_session_state_callback([this](bool connected) { this->states.push_back(connected); }); } bool send(const Frame &data) { return this->hdlc->send_to_interface(PacketBuffer(data), {}); }