llvm-project/lldb/packages/Python/lldbsuite
Pavel Labath 539b7e65b4 Make TestPrintStackTraces deterministic
This test contained an incredibly complicated inferior, but in reality,
all it was testing was that we can backtrace up to main and see main's
arguments.

However, the way this was implemented (setting a breakpoint on a
separate thread) meant that each time the test would run, it would stop
in a different location on the main thread. Most of the time this
location would be deep in some libc function, which meant that the
success of this test depended on our ability to backtrace out of a
random function of the c library that the user happens to have
installed.

This makes the test unpredictable. Backtracing out of a libc function is
an important functionality, but this is not the way to test it. Often it
is not even our fault that we cannot backtrace out because the C library
contains a lot of assembly routines that may not have correct unwind
info associated with them.

For this reason the test has accumulated numerous @expectedFail/Flaky
decorators. In this patch, I replace the inferior with one that does not
depend on libc functions. Instead I create a couple of stack frames of
user code, and have the test verify that. I also simplify the test by
using lldbutil.run_to_source_breakpoint.

llvm-svn: 358266
2019-04-12 08:02:28 +00:00
..
pre_kill_hook added Linux support for test timeout sampling 2016-09-26 20:25:47 +00:00
support [testsuite] Drop characters that can't be decoded, restoring parity with Py2. 2019-03-07 17:45:53 +00:00
test Make TestPrintStackTraces deterministic 2019-04-12 08:02:28 +00:00
test_event Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
.clang-format Updated .clang-format rules so bring LLDB in line with LLVM standards. 2016-09-06 17:19:00 +00:00
__init__.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00