aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/test_support/log_buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/test_support/log_buffer.cpp')
-rw-r--r--kernel/src/test_support/log_buffer.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/src/test_support/log_buffer.cpp b/kernel/src/test_support/log_buffer.cpp
new file mode 100644
index 0000000..04d875b
--- /dev/null
+++ b/kernel/src/test_support/log_buffer.cpp
@@ -0,0 +1,33 @@
+#include <kernel/test_support/log_buffer.hpp>
+
+#include <algorithm>
+#include <string>
+#include <vector>
+
+namespace kernel::tests
+{
+
+ auto log_buffer::append(std::string const & message) -> void
+ {
+ m_messages.push_back(message);
+ }
+
+ auto log_buffer::clear() -> void
+ {
+ m_messages.clear();
+ }
+
+ auto log_buffer::flat_messages() -> std::string
+ {
+ return std::ranges::fold_left(m_messages, std::string{}, [](std::string accumulator, std::string const & message) {
+ accumulator += message;
+ return accumulator;
+ });
+ }
+
+ auto log_buffer::messages() -> std::vector<std::string> const &
+ {
+ return m_messages;
+ }
+
+} // namespace kernel::tests