CCTLib
Calling-context and data-object attribution library for Intel Pin
anonymous_namespace{exception_integration_test.cpp} Namespace Reference

Classes

struct  ToolSpec
 
struct  VictimSpec
 
class  ExceptionRun
 

Functions

std::string env (const char *n)
 
std::string cctlib_root ()
 
std::string pin_root ()
 
int run_pin (const std::string &tool, const std::string &victim, const std::vector< std::string > &extra_args={})
 
bool has_output_file (const std::string &dir, const std::string &prefix)
 
void cleanup (const std::string &dir, const std::string &prefix)
 
 TEST_P (ExceptionRun, PinExitsCleanlyAndReportIsProduced)
 
 INSTANTIATE_TEST_SUITE_P (ToolAndVictim, ExceptionRun, ::testing::Combine(::testing::ValuesIn(kTools), ::testing::ValuesIn(kVictims)), [](const testing::TestParamInfo< ExceptionRun::ParamType > &info) { std::string s;s+=std::get< 0 >(info.param).name;s+="__";s+=std::get< 1 >(info.param).name;return s;})
 

Variables

const ToolSpec kTools []
 
const VictimSpec kVictims []
 

Function Documentation

◆ cctlib_root()

std::string anonymous_namespace{exception_integration_test.cpp}::cctlib_root ( )

◆ cleanup()

void anonymous_namespace{exception_integration_test.cpp}::cleanup ( const std::string &  dir,
const std::string &  prefix 
)

Definition at line 74 of file exception_integration_test.cpp.

Referenced by TEST_P().

◆ env()

std::string anonymous_namespace{exception_integration_test.cpp}::env ( const char *  n)

Definition at line 31 of file exception_integration_test.cpp.

Referenced by cctlib_root(), and pin_root().

◆ has_output_file()

bool anonymous_namespace{exception_integration_test.cpp}::has_output_file ( const std::string &  dir,
const std::string &  prefix 
)

Definition at line 68 of file exception_integration_test.cpp.

Referenced by TEST_P().

◆ INSTANTIATE_TEST_SUITE_P()

anonymous_namespace{exception_integration_test.cpp}::INSTANTIATE_TEST_SUITE_P ( ToolAndVictim  ,
ExceptionRun  ,
::testing::Combine(::testing::ValuesIn(kTools), ::testing::ValuesIn(kVictims))  ,
[] (const testing::TestParamInfo< ExceptionRun::ParamType > &info) { std::string s;s+=std::get< 0 >(info.param).name;s+="__";s+=std::get< 1 >(info.param).name;return s;}   
)

◆ pin_root()

std::string anonymous_namespace{exception_integration_test.cpp}::pin_root ( )

◆ run_pin()

int anonymous_namespace{exception_integration_test.cpp}::run_pin ( const std::string &  tool,
const std::string &  victim,
const std::vector< std::string > &  extra_args = {} 
)

Definition at line 39 of file exception_integration_test.cpp.

Referenced by TEST_P().

◆ TEST_P()

anonymous_namespace{exception_integration_test.cpp}::TEST_P ( ExceptionRun  ,
PinExitsCleanlyAndReportIsProduced   
)

Definition at line 126 of file exception_integration_test.cpp.

References cleanup(), has_output_file(), and run_pin().

Variable Documentation

◆ kTools

const ToolSpec anonymous_namespace{exception_integration_test.cpp}::kTools[]
Initial value:
= {
{ "deadspy", "deadspy_client.so", "deadspy.out." },
{ "redspy", "redspy_client.so", "redspy.out." },
{ "loadspy", "loadspy_client.so", "redLoad.out." },
}

Definition at line 86 of file exception_integration_test.cpp.

◆ kVictims

const VictimSpec anonymous_namespace{exception_integration_test.cpp}::kVictims[]
Initial value:
= {
{ "exc_simple_throw" },
{ "exc_deep_unwind" },
{ "exc_rethrow" },
{ "exc_catchall" },
{ "exc_dtor_cleanup" },
{ "exc_stress_loop" },
{ "exc_polymorphic" },
{ "exc_none_tn" },
{ "exc_uncaught_tn" },
{ "exc_ctor_throw" },
{ "exc_catch_and_resume" },
{ "sig_longjmp" },
{ "sig_sigsegv_recover" },
}

Definition at line 97 of file exception_integration_test.cpp.