mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-07-10 01:29:59 +00:00
115 lines
2.6 KiB
C++
115 lines
2.6 KiB
C++
/**
|
|
* @file main.cpp
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief perform tests
|
|
* @details
|
|
* @version 0.11
|
|
* @date 2024-08-11
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#include "pch.h"
|
|
|
|
/**
|
|
* @brief Main function of test process
|
|
*
|
|
* @param argc
|
|
* @param argv
|
|
* @return int
|
|
*/
|
|
int
|
|
main(int argc, char * argv[])
|
|
{
|
|
if (argc != 2)
|
|
{
|
|
printf("you should not test functionalities directly, instead use 'test all' "
|
|
"command from HyperDbg...\n");
|
|
return 1;
|
|
}
|
|
|
|
if (!strcmp(argv[1], TEST_CASE_PARAMETER_FOR_MAIN_COMMAND_PARSER))
|
|
{
|
|
//
|
|
// # Test case 1
|
|
// Testing command parser
|
|
//
|
|
if (TestCommandParser())
|
|
{
|
|
printf("\n[*] The main command parser test cases passed successfully\n");
|
|
}
|
|
else
|
|
{
|
|
printf("\n[x] The main command parser test cases failed\n");
|
|
}
|
|
}
|
|
else if (!strcmp(argv[1], TEST_CASE_PARAMETER_FOR_PE_PARSER))
|
|
{
|
|
//
|
|
// # Test case 2
|
|
// Testing PE parser helpers
|
|
//
|
|
if (TestPeParser())
|
|
{
|
|
printf("\n[*] The PE parser test cases passed successfully\n");
|
|
}
|
|
else
|
|
{
|
|
printf("\n[x] The PE parser test cases failed\n");
|
|
}
|
|
}
|
|
else if (!strcmp(argv[1], TEST_CASE_PARAMETER_FOR_SCRIPT_SEMANTIC_TEST_CASES))
|
|
{
|
|
//
|
|
// # Test case 3
|
|
// Testing script semantic test cases
|
|
//
|
|
if (TestSemanticScripts())
|
|
{
|
|
printf("\n[*] The script semantic test cases passed successfully\n");
|
|
}
|
|
else
|
|
{
|
|
printf("\n[x] The script semantic test cases failed\n");
|
|
}
|
|
}
|
|
else if (!strcmp(argv[1], TEST_CASE_PARAMETER_FOR_CODEVIEW_RSDS_PARSER))
|
|
{
|
|
//
|
|
// # Test case 4
|
|
// Testing CodeView RSDS parser helpers
|
|
//
|
|
if (TestCodeViewRsdsParser())
|
|
{
|
|
printf("\n[*] The CodeView RSDS parser test cases passed successfully\n");
|
|
}
|
|
else
|
|
{
|
|
printf("\n[x] The CodeView RSDS parser test cases failed\n");
|
|
}
|
|
}
|
|
else if (!strcmp(argv[1], TEST_HWDBG_FUNCTIONALITIES))
|
|
{
|
|
//
|
|
// # Test hwdbg functionalities
|
|
//
|
|
if (HwdbgTestCreateTestCases())
|
|
{
|
|
printf("\n[*] The hwdbg test cases passed successfully\n");
|
|
}
|
|
else
|
|
{
|
|
printf("\n[x] The hwdbg test cases failed\n");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
printf("unknown test case\n");
|
|
}
|
|
|
|
printf("\npress any key to exit...");
|
|
|
|
_getch();
|
|
|
|
return 0;
|
|
}
|