xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
log.cc
浏览该文件的文档.
1#include <gtest/gtest.h>
2
3#include <memory>
4#include <ostream>
6
7
8#define XCLOG_FUNCTION_TRACK
9#define XCLOG_FILE_TRACK
10#define XCLOG_LINE_TRACK
11
12#include <xclogger/logger.hpp>
13
14XCLOG_SUBMIT_STREAM_INSTENCE_IMPT() { return std::shared_ptr<std::ostream>(); }
15class IpcLogTest : public ::testing::Test {
16 protected:
17 template <class OS>
18 xclogger::Message msg(const OS& os) {
19 return os.msg_;
20 }
21};
22TEST_F(IpcLogTest, log) { XLOG(0, data, data) << "hello"; }
23TEST_F(IpcLogTest, message) {
24 auto os = (XLOG(0, data, data) << "hello" << " world");
25 auto _msg = msg(os);
26 auto data = xclogger::Message::encode(_msg);
27 auto new_msg = xclogger::Message::decode(data.data(), data.size());
28 EXPECT_EQ(_msg.role, new_msg.role);
29 EXPECT_EQ(_msg.label, new_msg.label);
30 EXPECT_EQ(_msg.file, new_msg.file);
31 EXPECT_EQ(_msg.function, new_msg.function);
32 EXPECT_EQ(_msg.time, new_msg.time);
33 EXPECT_EQ(_msg.line, new_msg.line);
34 EXPECT_EQ(_msg.level, new_msg.level);
35 EXPECT_EQ(_msg.messages.size(), new_msg.messages.size());
36 for (size_t i = 0; i < _msg.messages.size(); ++i)
37 EXPECT_EQ(_msg.messages[i], new_msg.messages[i]);
38}
xclogger::Message msg(const OS &os)
Definition log.cc:18
XCLOG_SUBMIT_STREAM_INSTENCE_IMPT()
Definition log.cc:14
TEST_F(IpcLogTest, log)
Definition log.cc:22
#define XLOG(level, role, label)
Definition logger.hpp:104
static std::vector< char > encode(const Message &msg)
Definition message.hpp:30
static Message decode(const char *data, size_t size)
Definition message.hpp:43