mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-22 13:05:52 -04:00

D55859 <https://reviews.llvm.org/D55859> has no effect for some of the testcases so this patch extends it even for (all?) other testcases known to me. LLDB was failing when LLDB prints errors reading system debug infos (`*-debuginfo.rpm`, DWZ-optimized) which should never happen as LLDB testcases should not be affected by system debug infos. `lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template` is using only SB API which does not expose `ModuleList` so I had to call `HandleCommand()` there. `lldb-test.cpp` could also use `HandleCommand` and then there would be no need for `ModuleListProperties::SetEnableExternalLookup()` but I think it is cleaner with API and not on based on text commands. Differential Revision: https://reviews.llvm.org/D63339 llvm-svn: 363567
50 lines
995 B
Plaintext
50 lines
995 B
Plaintext
|
|
/// LLDB C API Test Driver
|
|
|
|
#include <algorithm>
|
|
#include <iostream>
|
|
#include <iterator>
|
|
#include <string>
|
|
#include <vector>
|
|
#if !defined(_MSC_VER)
|
|
#include <signal.h>
|
|
#endif
|
|
|
|
%include_SB_APIs%
|
|
|
|
#include "common.h"
|
|
|
|
using namespace std;
|
|
using namespace lldb;
|
|
|
|
void test(SBDebugger &dbg, std::vector<string> args);
|
|
|
|
int main(int argc, char** argv) {
|
|
|
|
// Ignore SIGPIPE. The lldb driver does this as well,
|
|
// because we seem to get spurious SIGPIPES on some
|
|
// Unixen that take the driver down.
|
|
#if !defined(_MSC_VER)
|
|
signal(SIGPIPE, SIG_IGN);
|
|
#endif
|
|
int code = 0;
|
|
|
|
SBDebugger::Initialize();
|
|
SBDebugger dbg = SBDebugger::Create();
|
|
dbg.HandleCommand("settings set symbols.enable-external-lookup false");
|
|
|
|
try {
|
|
if (!dbg.IsValid())
|
|
throw Exception("invalid debugger");
|
|
vector<string> args(argv + 1, argv + argc);
|
|
|
|
test(dbg, args);
|
|
} catch (Exception &e) {
|
|
cout << "ERROR: " << e.what() << endl;
|
|
code = 1;
|
|
}
|
|
|
|
SBDebugger::Destroy(dbg);
|
|
return code;
|
|
}
|