[Lldb-commits] [PATCH] D67018: [lldb][NFC] Add basic test for GUI command

Raphael Isemann via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Sep 2 01:00:39 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL370625: [lldb][NFC] Add basic test for GUI command (authored by teemperor, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D67018?vs=218161&id=218302#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67018/new/

https://reviews.llvm.org/D67018

Files:
  lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/Makefile
  lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
  lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/main.c


Index: lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
+++ lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
@@ -0,0 +1,58 @@
+"""
+Test that the 'gui' displays the help window and basic UI.
+"""
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.lldbpexpect import PExpectTest
+
+class BasicGuiCommandTest(PExpectTest):
+
+    mydir = TestBase.compute_mydir(__file__)
+
+    def test_gui(self):
+        self.build()
+
+        self.launch(executable=self.getBuildArtifact("a.out"))
+        self.expect('br set -f main.c -p "// Break here"', substrs=["Breakpoint 1", "address ="])
+        self.expect("run", substrs=["stop reason ="])
+
+
+        escape_key = chr(27).encode()
+
+        # Start the GUI for the first time and check for the welcome window.
+        self.child.sendline("gui")
+        self.child.expect_exact("Welcome to the LLDB curses GUI.")
+
+        # Press escape to quit the welcome screen
+        self.child.send(escape_key)
+        # Press escape again to quit the gui
+        self.child.send(escape_key)
+        self.expect_prompt()
+
+        # Start the GUI a second time, this time we should have the normal GUI.
+        self.child.sendline("gui")
+        # Check for GUI elements in the menu bar.
+        self.child.expect_exact("Target")
+        self.child.expect_exact("Process")
+        self.child.expect_exact("Thread")
+        self.child.expect_exact("View")
+        self.child.expect_exact("Help")
+
+        # Check the sources window.
+        self.child.expect_exact("Sources")
+        self.child.expect_exact("main")
+        self.child.expect_exact("funky_var_name_that_should_be_rendered")
+
+        # Check the variable window.
+        self.child.expect_exact("Variables")
+        self.child.expect_exact("(int) funky_var_name_that_should_be_rendered = 22")
+
+        # Check the bar at the bottom.
+        self.child.expect_exact("Frame:")
+
+        # Press escape to quit the gui
+        self.child.send(escape_key)
+
+        self.quit()
Index: lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/Makefile
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/Makefile
+++ lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/Makefile
@@ -0,0 +1,3 @@
+LEVEL = ../../../make
+C_SOURCES := main.c
+include $(LEVEL)/Makefile.rules
Index: lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/main.c
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/main.c
+++ lldb/trunk/packages/Python/lldbsuite/test/commands/gui/basic/main.c
@@ -0,0 +1,4 @@
+int main(int argc, char **argv) {
+  int funky_var_name_that_should_be_rendered = 22;
+  return 0; // Break here
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67018.218302.patch
Type: text/x-patch
Size: 3084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190902/648a8c82/attachment.bin>


More information about the lldb-commits mailing list