Move UnitTest stuff
This commit is contained in:
parent
d0f2da8f61
commit
d64589f6e8
2
deps/protobuf
vendored
2
deps/protobuf
vendored
@ -1 +1 @@
|
||||
Subproject commit 3b001ca6ba6fb51f5e55b1596fb3ce09ee9981e8
|
||||
Subproject commit c44ca26fe89ed8a81d3ee475a2ccc1797141dbce
|
@ -12,6 +12,11 @@ namespace Components
|
||||
return (IsWindow(*reinterpret_cast<HWND*>(0x64A3288)) != FALSE || (Dedicated::IsEnabled() && !Flags::HasFlag("console")));
|
||||
}
|
||||
|
||||
void Logger::PrintStub(int channel, const char* message, ...)
|
||||
{
|
||||
return Logger::MessagePrint(channel, Logger::Format(&message));
|
||||
}
|
||||
|
||||
void Logger::Print(const char* message, ...)
|
||||
{
|
||||
return Logger::MessagePrint(0, Logger::Format(&message));
|
||||
@ -176,6 +181,11 @@ namespace Components
|
||||
Utils::Hook(0x4B0218, Logger::GameLogStub, HOOK_CALL).Install()->Quick();
|
||||
Utils::Hook(Game::Com_PrintMessage, Logger::PrintMessageStub, HOOK_JUMP).Install()->Quick();
|
||||
|
||||
if (Loader::PerformingUnitTests())
|
||||
{
|
||||
Utils::Hook(Game::Com_Printf, Logger::PrintStub, HOOK_JUMP).Install()->Quick();
|
||||
}
|
||||
|
||||
Dvar::OnInit([] ()
|
||||
{
|
||||
Command::AddSV("log_add", [] (Command::Params params)
|
||||
|
@ -19,6 +19,8 @@ namespace Components
|
||||
static void SoftError(const char* message, ...);
|
||||
static bool IsConsoleReady();
|
||||
|
||||
static void PrintStub(int channel, const char* message, ...);
|
||||
|
||||
static void PipeOutput(void(*callback)(std::string));
|
||||
|
||||
private:
|
||||
|
@ -831,7 +831,7 @@ namespace Components
|
||||
printf("ECDSA key seems invalid!\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
printf("Success\n");
|
||||
printf("Testing 10 valid signatures...");
|
||||
|
||||
@ -885,45 +885,6 @@ namespace Components
|
||||
}
|
||||
|
||||
printf("Success\n");
|
||||
|
||||
uint32_t randIntCount = 4'000'000;
|
||||
printf("Generating %d random integers...", randIntCount);
|
||||
|
||||
auto startTime = std::chrono::high_resolution_clock::now();
|
||||
|
||||
for (uint32_t i = 0; i < randIntCount; ++i)
|
||||
{
|
||||
Utils::Cryptography::Rand::GenerateInt();
|
||||
}
|
||||
|
||||
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - startTime).count();
|
||||
Logger::Print("took %llims\n", duration);
|
||||
|
||||
printf("Testing ZLib compression...");
|
||||
|
||||
std::string test = fmt::sprintf("%c", Utils::Cryptography::Rand::GenerateInt());
|
||||
|
||||
for (int i = 0; i < 21; ++i)
|
||||
{
|
||||
std::string compressed = Utils::Compression::ZLib::Compress(test);
|
||||
std::string decompressed = Utils::Compression::ZLib::Decompress(compressed);
|
||||
|
||||
if (test != decompressed)
|
||||
{
|
||||
printf("Error\n");
|
||||
printf("Compressing %d bytes and decompressing failed!\n", test.size());
|
||||
return false;
|
||||
}
|
||||
|
||||
auto size = test.size();
|
||||
for (unsigned int j = 0; j < size; ++j)
|
||||
{
|
||||
test.append(fmt::sprintf("%c", Utils::Cryptography::Rand::GenerateInt()));
|
||||
}
|
||||
}
|
||||
|
||||
printf("Success\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -424,4 +424,46 @@ namespace Components
|
||||
{
|
||||
QuickPatch::ShutdownSignal.clear();
|
||||
}
|
||||
|
||||
bool QuickPatch::UnitTest()
|
||||
{
|
||||
uint32_t randIntCount = 4'000'000;
|
||||
printf("Generating %d random integers...", randIntCount);
|
||||
|
||||
auto startTime = std::chrono::high_resolution_clock::now();
|
||||
|
||||
for (uint32_t i = 0; i < randIntCount; ++i)
|
||||
{
|
||||
Utils::Cryptography::Rand::GenerateInt();
|
||||
}
|
||||
|
||||
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - startTime).count();
|
||||
Logger::Print("took %llims\n", duration);
|
||||
|
||||
printf("Testing ZLib compression...");
|
||||
|
||||
std::string test = fmt::sprintf("%c", Utils::Cryptography::Rand::GenerateInt());
|
||||
|
||||
for (int i = 0; i < 21; ++i)
|
||||
{
|
||||
std::string compressed = Utils::Compression::ZLib::Compress(test);
|
||||
std::string decompressed = Utils::Compression::ZLib::Decompress(compressed);
|
||||
|
||||
if (test != decompressed)
|
||||
{
|
||||
printf("Error\n");
|
||||
printf("Compressing %d bytes and decompressing failed!\n", test.size());
|
||||
return false;
|
||||
}
|
||||
|
||||
auto size = test.size();
|
||||
for (unsigned int j = 0; j < size; ++j)
|
||||
{
|
||||
test.append(fmt::sprintf("%c", Utils::Cryptography::Rand::GenerateInt()));
|
||||
}
|
||||
}
|
||||
|
||||
printf("Success\n");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ namespace Components
|
||||
const char* GetName() { return "QuickPatch"; };
|
||||
#endif
|
||||
|
||||
bool UnitTest();
|
||||
|
||||
static void UnlockStats();
|
||||
static void OnShutdown(Callback* callback);
|
||||
|
||||
|
@ -22,6 +22,7 @@ namespace Game
|
||||
Cmd_AddCommand_t Cmd_AddCommand = (Cmd_AddCommand_t)0x470090;
|
||||
Cmd_AddServerCommand_t Cmd_AddServerCommand = (Cmd_AddServerCommand_t)0x4DCE00;
|
||||
Cmd_ExecuteSingleCommand_t Cmd_ExecuteSingleCommand = (Cmd_ExecuteSingleCommand_t)0x609540;
|
||||
Com_ClientPacketEvent_t Com_ClientPacketEvent = (Com_ClientPacketEvent_t)0x49F0B0;
|
||||
|
||||
Com_Error_t Com_Error = (Com_Error_t)0x4B22D0;
|
||||
Com_Printf_t Com_Printf = (Com_Printf_t)0x402500;
|
||||
@ -92,6 +93,8 @@ namespace Game
|
||||
Image_LoadFromFileWithReader_t Image_LoadFromFileWithReader = (Image_LoadFromFileWithReader_t)0x53ABF0;
|
||||
Image_Release_t Image_Release = (Image_Release_t)0x51F010;
|
||||
|
||||
LargeLocalInit_t LargeLocalInit = (LargeLocalInit_t)0x4A62A0;
|
||||
|
||||
Menus_CloseAll_t Menus_CloseAll = (Menus_CloseAll_t)0x4BA5B0;
|
||||
Menus_OpenByName_t Menus_OpenByName = (Menus_OpenByName_t)0x4CCE60;
|
||||
Menus_FindByName_t Menus_FindByName = (Menus_FindByName_t)0x487240;
|
||||
@ -115,6 +118,7 @@ namespace Game
|
||||
|
||||
NET_AdrToString_t NET_AdrToString = (NET_AdrToString_t)0x469880;
|
||||
NET_CompareAdr_t NET_CompareAdr = (NET_CompareAdr_t)0x4D0AA0;
|
||||
NET_Init_t NET_Init = (NET_Init_t)0x491860;
|
||||
NET_IsLocalAddress_t NET_IsLocalAddress = (NET_IsLocalAddress_t)0x402BD0;
|
||||
NET_StringToAdr_t NET_StringToAdr = (NET_StringToAdr_t)0x409010;
|
||||
NET_OutOfBandPrint_t NET_OutOfBandPrint = (NET_OutOfBandPrint_t)0x4AEF00;
|
||||
|
@ -45,6 +45,9 @@ namespace Game
|
||||
typedef void(__cdecl * Cmd_ExecuteSingleCommand_t)(int localClientNum, int controllerIndex, const char* cmd);
|
||||
extern Cmd_ExecuteSingleCommand_t Cmd_ExecuteSingleCommand;
|
||||
|
||||
typedef void(__cdecl * Com_ClientPacketEvent_t)();
|
||||
extern Com_ClientPacketEvent_t Com_ClientPacketEvent;
|
||||
|
||||
typedef void(__cdecl * Com_Error_t)(int type, char* message, ...);
|
||||
extern Com_Error_t Com_Error;
|
||||
|
||||
@ -218,6 +221,9 @@ namespace Game
|
||||
typedef void(__cdecl * Image_Release_t)(GfxImage* image);
|
||||
extern Image_Release_t Image_Release;
|
||||
|
||||
typedef void(__cdecl * LargeLocalInit_t)();
|
||||
extern LargeLocalInit_t LargeLocalInit;
|
||||
|
||||
typedef void(__cdecl * Menus_CloseAll_t)(UiContext *dc);
|
||||
extern Menus_CloseAll_t Menus_CloseAll;
|
||||
|
||||
@ -278,6 +284,9 @@ namespace Game
|
||||
typedef bool(__cdecl * NET_CompareAdr_t)(netadr_t a, netadr_t b);
|
||||
extern NET_CompareAdr_t NET_CompareAdr;
|
||||
|
||||
typedef void(__cdecl * NET_Init_t)();
|
||||
extern NET_Init_t NET_Init;
|
||||
|
||||
typedef bool(__cdecl * NET_IsLocalAddress_t)(netadr_t adr);
|
||||
extern NET_IsLocalAddress_t NET_IsLocalAddress;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user