Struct TestSuite

Inheritance Relationships

Base Type

Derived Types

Struct Documentation

struct TestSuite : public ILog

Base class for test suites.

Provides common functionality for running tests, logging, and asserting results.

Subclassed by PivotTests, PivotXdkDeviceTests, RopActionTests, SymbolsTest, TargetDbTests, XdkDeviceTests

Public Functions

TestSuite()
TestSuite(std::string class_name, std::string desc)

Constructs a TestSuite with a class name and description.

Parameters:
  • class_name – The name of the test suite class.

  • desc – A description of the test suite.

virtual void init()

Virtual method for test suite initialization.

virtual void deinit()

Virtual method for test suite deinitialization.

virtual void Log(const char *format, ...)

Logs a message using a format string.

Parameters:
  • format – The format string for the message.

  • ... – The arguments for the format string.

void Error(const char *format, ...)

Logs an error message and sets the had_errors flag.

Parameters:
  • format – The format string for the error message.

  • ... – The arguments for the format string.

Test &RegisterTest(Test test)

Registers a test case with the test suite.

Parameters:

test – The Test object to register.

Returns:

A reference to the registered Test object.

void AssertLogs(bool fail_if_no_expected = true)

Asserts that the logged output matches the expected results in a file.

Parameters:

fail_if_no_expected – If true, the test will fail if no expected results file is found.

void AssertNoErrors()

Asserts that no errors have occurred during the test execution.

Throws:

ExpKitError – if the had_errors flag is true.

Public Members

std::string class_name
std::string desc
std::vector<Test> tests
std::vector<std::string> logs
std::vector<std::string> errors
TestEnvironment *env
Test *current_test
bool had_errors = false