Exemple #1
0
TEST(CallStackTestGroup, UnwindOneCaller)
{
   CallStack   TestCallStack;

   TestSuiteCaller1(TestCallStack);

   const void **Stack = TestCallStack.Get();
   Dl_info Info;
   CHECK(dladdr(Stack[0], &Info) != 0);
   CHECK_EQUAL(0, strcmp(Info.dli_sname, "TestSuiteCaller1"));
};
Exemple #2
0
TEST(CallStackTestGroup, SetTo)
{
   CallStack   TestCallStack;
   CallStack   TestCallStack2;

   TestSuiteUnwind5(TestCallStack);
   TestCallStack2.SetTo(TestCallStack);

   CHECK_EQUAL(0, memcmp(TestCallStack.Get(),
                TestCallStack2.Get(),
                CALLSTACK_MAX_DEPTH*sizeof(void*)));
};
Exemple #3
0
TEST(CallStackTestGroup, Unwind)
{
   CallStack   TestCallStack;

   TestSuiteUnwind5(TestCallStack);

   const void **Stack = TestCallStack.Get();
   Dl_info Info;
   CHECK(dladdr(Stack[0], &Info) != 0);
   CHECK_EQUAL(0, strcmp(Info.dli_sname, "TestSuiteUnwind1"));
   CHECK(dladdr(Stack[1], &Info) != 0);
   CHECK_EQUAL(0, strcmp(Info.dli_sname, "TestSuiteUnwind2"));
   CHECK(dladdr(Stack[2], &Info) != 0);
   CHECK_EQUAL(0, strcmp(Info.dli_sname, "TestSuiteUnwind3"));
   CHECK(dladdr(Stack[3], &Info) != 0);
   CHECK_EQUAL(0, strcmp(Info.dli_sname, "TestSuiteUnwind4"));
   CHECK(dladdr(Stack[4], &Info) != 0);
   CHECK(strstr(Info.dli_sname, "TestSuiteUnwind5") != NULL);
};