Class PivotTests

Inheritance Relationships

Base Type

Class Documentation

class PivotTests : public TestSuite

Public Functions

inline PivotTests()
inline virtual void init()

Virtual method for test suite initialization.

inline  TEST_METHOD (findsPivotsForLts6181, "find all pivots for LTS 6.1.81")
inline void findPivotsForRegisters(const std::vector<std::string> distros, const std::vector<Register> &registers)
inline  TEST_METHOD (findKernelCtfRsiPivots, "finds the right RSI pivots for kernelCTF releases")
inline  TEST_METHOD (findKernelCtfRdiPivots, "finds the right RDI pivots for kernelCTF releases [TODO]")
inline  TEST_METHOD (findUbuntuRdiRsiPivots, "finds the right RSI and RDI pivots for Ubuntu releases [TODO]")
inline  TEST_METHOD (rsiLayoutPlanning, "plan RSI-based stack pivot and rop chain layout")
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