From 69d96b40ec8b9e9150adb67f497e81c391eb1e04 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Wed, 16 Oct 2024 16:13:15 +0200 Subject: [PATCH] improve tests --- include/td/misc/Test.h | 6 ++-- .../protocol/packet/PacketFactory_test.cpp | 6 ++-- .../protocol/packet/PacketSerializer_test.cpp | 31 +++++++++++-------- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/include/td/misc/Test.h b/include/td/misc/Test.h index 58cb334..ac40ad7 100644 --- a/include/td/misc/Test.h +++ b/include/td/misc/Test.h @@ -18,10 +18,10 @@ namespace test { #define TD_TEST_SUCCESSFUL 0 /** - * \def BLITZ_TEST_FAILED + * \def TD_TEST_FAILED * \brief Used in tests to indicate that a test failed */ -#define BLITZ_TEST_FAILED 1 +#define TD_TEST_FAILED 1 #ifndef __FUNCTION_NAME__ #ifdef _WIN32 @@ -40,7 +40,7 @@ namespace test { #define td_test_assert(...) \ if (!static_cast(__VA_ARGS__)) { \ td::test::LogAssert(#__VA_ARGS__, __FILE__, __LINE__, __FUNCTION_NAME__); \ - std::exit(BLITZ_TEST_FAILED); \ + std::exit(TD_TEST_FAILED); \ } diff --git a/test/blitz/protocol/packet/PacketFactory_test.cpp b/test/blitz/protocol/packet/PacketFactory_test.cpp index b905677..4518e33 100644 --- a/test/blitz/protocol/packet/PacketFactory_test.cpp +++ b/test/blitz/protocol/packet/PacketFactory_test.cpp @@ -1,13 +1,15 @@ #include +#include + static int Test() { for (std::size_t i = 0; i < static_cast(td::protocol::PacketType::PACKET_COUNT); i++) { td::protocol::PacketType packetType = td::protocol::PacketType(i); if (td::protocol::PacketFactory::CreateReadOnlyPacket(packetType)->GetType() != packetType) - return 1; + return TD_TEST_FAILED; } - return 0; + return TD_TEST_SUCCESSFUL; } int main() { diff --git a/test/blitz/protocol/packet/PacketSerializer_test.cpp b/test/blitz/protocol/packet/PacketSerializer_test.cpp index c803223..38f4c1c 100644 --- a/test/blitz/protocol/packet/PacketSerializer_test.cpp +++ b/test/blitz/protocol/packet/PacketSerializer_test.cpp @@ -5,27 +5,32 @@ namespace tp = td::protocol; -static int TestAllPackets() { - for (std::size_t i = 0; i < static_cast(tp::PacketType::PACKET_COUNT); i++) { - const auto& packet = tp::PacketFactory::CreateReadOnlyPacket(tp::PacketType(i)); +template +static int TestPacket() { + Packet_T packet; - td::DataBuffer buffer = tp::PacketSerializer::Serialize(*packet.get()); + td::DataBuffer buffer = tp::PacketSerializer::Serialize(packet); - tp::PacketPtr packet2 = tp::PacketSerializer::Deserialize(buffer); + auto abstractPacket = tp::PacketSerializer::Deserialize(buffer); - td_test_assert(packet2 != nullptr); + td_test_assert(abstractPacket); - td_test_assert(packet2->GetType() == packet->GetType()); - } - return 0; + Packet_T* packet2 = dynamic_cast(abstractPacket.get()); + + td_test_assert(packet2); + td_test_assert(packet.GetType() == packet2->GetType()); + + return std::memcmp(&packet.m_Data, &packet2->m_Data, sizeof(Packet_Data_T)); } -static void Test() { - tp::packets::ChatMessage packet({"caca"}); - td::DataBuffer buffer = tp::PacketSerializer::Serialize(packet); +#define DeclarePacket(Packet, ...) TestPacket(); + +static int TestAllPackets() { + DeclareAllPacket() + + return TD_TEST_SUCCESSFUL; } int main() { - Test(); return TestAllPackets(); } \ No newline at end of file