diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template')
-rw-r--r-- | packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template b/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template new file mode 100644 index 000000000000..f4bd021632ce --- /dev/null +++ b/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template @@ -0,0 +1,48 @@ + +/// 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(); + + 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; +} |