Files
clang-p2996/lldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
Jonas Devlieghere 2238dcc393 [NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python
code. Reformatting is done with `black` (23.1.0).

If you end up having problems merging this commit because you have made
changes to a python file, the best way to handle that is to run `git
checkout --ours <yourfile>` and then reformat it with black.

RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style

Differential revision: https://reviews.llvm.org/D151460
2023-05-25 12:54:09 -07:00

58 lines
1.7 KiB
Python

"""
Test the 'gui' default thread tree expansion.
The root process tree item and the tree item corresponding to the selected
thread should be expanded by default.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test.lldbpexpect import PExpectTest
class TestGuiExpandThreadsTree(PExpectTest):
# PExpect uses many timeouts internally and doesn't play well
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfCursesSupportMissing
@skipIf(oslist=["linux"], archs=["arm", "aarch64"])
@skipIf(bugnumber="rdar://97460266")
def test_gui(self):
self.build()
self.launch(executable=self.getBuildArtifact("a.out"), dimensions=(100, 500))
self.expect(
"breakpoint set -n break_here", substrs=["Breakpoint 1", "address ="]
)
self.expect("run", substrs=["stop reason ="])
escape_key = chr(27).encode()
# Start the GUI and close the welcome window.
self.child.sendline("gui")
self.child.send(escape_key)
self.child.expect_exact("Threads")
# The thread running thread_start_routine should be expanded.
self.child.expect_exact("#0: break_here")
# Exit GUI.
self.child.send(escape_key)
self.expect_prompt()
# Select the main thread.
self.child.sendline("thread select 1")
# Start the GUI.
self.child.sendline("gui")
self.child.expect_exact("Threads")
# The main thread should be expanded.
self.child.expect("#\d+: main")
# Quit the GUI
self.child.send(escape_key)
self.expect_prompt()
self.quit()