The issue with these test failures is that the dSYM was not being found by lldb, which is why setting breakpoints was failing and lldb quit without performing any steps. This change copies the dSYM to the same temp directory that the executable is copied to.
45 lines
653 B
C++
45 lines
653 B
C++
// REQUIRES: lldb
|
|
// UNSUPPORTED: system-windows
|
|
//
|
|
// RUN: %clang -std=gnu++11 -O0 -g -lstdc++ %s -o %t
|
|
// RUN: %dexter --fail-lt 1.0 -w \
|
|
// RUN: --binary %t --debugger 'lldb' -- %s
|
|
// Radar 8945514
|
|
|
|
class SVal {
|
|
public:
|
|
~SVal() {}
|
|
const void* Data;
|
|
unsigned Kind;
|
|
};
|
|
|
|
void bar(SVal &v) {}
|
|
class A {
|
|
public:
|
|
void foo(SVal v) { bar(v); } // DexLabel('foo')
|
|
};
|
|
|
|
int main() {
|
|
SVal v;
|
|
v.Data = 0;
|
|
v.Kind = 2142;
|
|
A a;
|
|
a.foo(v);
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
DexExpectProgramState({
|
|
'frames': [
|
|
{
|
|
'location': { 'lineno': ref('foo') },
|
|
'watches': {
|
|
'v.Data == 0': 'true',
|
|
'v.Kind': '2142'
|
|
}
|
|
}
|
|
]
|
|
})
|
|
*/
|
|
|