summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lang/go
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/go')
-rw-r--r--packages/Python/lldbsuite/test/lang/go/expressions/TestExpressions.py38
-rw-r--r--packages/Python/lldbsuite/test/lang/go/formatters/TestGoFormatters.py30
-rw-r--r--packages/Python/lldbsuite/test/lang/go/goroutines/TestGoroutines.py58
-rw-r--r--packages/Python/lldbsuite/test/lang/go/types/TestGoASTContext.py44
4 files changed, 108 insertions, 62 deletions
diff --git a/packages/Python/lldbsuite/test/lang/go/expressions/TestExpressions.py b/packages/Python/lldbsuite/test/lang/go/expressions/TestExpressions.py
index f2e5613ffd613..306b00840dfdd 100644
--- a/packages/Python/lldbsuite/test/lang/go/expressions/TestExpressions.py
+++ b/packages/Python/lldbsuite/test/lang/go/expressions/TestExpressions.py
@@ -1,18 +1,20 @@
"""Test the go expression parser/interpreter."""
-import os, time
+import os
+import time
import unittest2
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
class TestGoUserExpression(TestBase):
mydir = TestBase.compute_mydir(__file__)
@add_test_categories(['pyapi'])
- @skipIfRemote # Not remote test suit ready
+ @skipIfRemote # Not remote test suit ready
@skipUnlessGoInstalled
def test_with_dsym_and_python_api(self):
"""Test GoASTUserExpress."""
@@ -25,7 +27,8 @@ class TestGoUserExpression(TestBase):
TestBase.setUp(self)
# Find the line numbers to break inside main().
self.main_source = "main.go"
- self.break_line = line_number(self.main_source, '// Set breakpoint here.')
+ self.break_line = line_number(
+ self.main_source, '// Set breakpoint here.')
def check_builtin(self, name, size=0, typeclass=lldb.eTypeClassBuiltin):
tl = self.target().FindTypes(name)
@@ -42,23 +45,28 @@ class TestGoUserExpression(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
- bpt = target.BreakpointCreateByLocation(self.main_source, self.break_line)
+ bpt = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line)
self.assertTrue(bpt, VALID_BREAKPOINT)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
# The stop reason of the thread should be breakpoint.
- thread_list = lldbutil.get_threads_stopped_at_breakpoint (process, bpt)
+ thread_list = lldbutil.get_threads_stopped_at_breakpoint(process, bpt)
# Make sure we stopped at the first breakpoint.
- self.assertTrue (len(thread_list) != 0, "No thread stopped at our breakpoint.")
- self.assertTrue (len(thread_list) == 1, "More than one thread stopped at our breakpoint.")
+ self.assertTrue(
+ len(thread_list) != 0,
+ "No thread stopped at our breakpoint.")
+ self.assertTrue(len(thread_list) == 1,
+ "More than one thread stopped at our breakpoint.")
frame = thread_list[0].GetFrameAtIndex(0)
- self.assertTrue (frame, "Got a valid frame 0 frame.")
+ self.assertTrue(frame, "Got a valid frame 0 frame.")
def go_expressions(self):
frame = self.frame()
@@ -66,7 +74,7 @@ class TestGoUserExpression(TestBase):
self.assertEqual(1, v.GetValueAsSigned())
x = frame.EvaluateExpression("x")
self.assertEqual(22, x.GetValueAsSigned())
-
+
a = frame.EvaluateExpression("a")
self.assertEqual(3, a.GetNumChildren())
a0 = a.GetChildAtIndex(0)
@@ -75,23 +83,23 @@ class TestGoUserExpression(TestBase):
# Array indexing
a0 = frame.EvaluateExpression("a[0]")
self.assertEqual(8, a0.GetValueAsSigned())
-
+
# Slice indexing
b1 = frame.EvaluateExpression("b[1]")
self.assertEqual(9, b1.GetValueAsSigned())
-
+
# Test global in this package
g = frame.EvaluateExpression("myGlobal")
self.assertEqual(17, g.GetValueAsSigned(), str(g))
-
+
# Global with package name
g = frame.EvaluateExpression("main.myGlobal")
self.assertEqual(17, g.GetValueAsSigned(), str(g))
-
+
# Global with quoted package name
g = frame.EvaluateExpression('"main".myGlobal')
self.assertEqual(17, g.GetValueAsSigned(), str(g))
-
+
# Casting with package local type
s = frame.EvaluateExpression("*(*myStruct)(i.data)")
sb = s.GetChildMemberWithName("a")
diff --git a/packages/Python/lldbsuite/test/lang/go/formatters/TestGoFormatters.py b/packages/Python/lldbsuite/test/lang/go/formatters/TestGoFormatters.py
index 2578742467d99..c48cd1f6af08f 100644
--- a/packages/Python/lldbsuite/test/lang/go/formatters/TestGoFormatters.py
+++ b/packages/Python/lldbsuite/test/lang/go/formatters/TestGoFormatters.py
@@ -1,18 +1,20 @@
"""Test the Go Data Formatter Plugin."""
-import os, time
+import os
+import time
import unittest2
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
class TestGoLanguage(TestBase):
mydir = TestBase.compute_mydir(__file__)
- @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
- @skipIfRemote # Not remote test suite ready
+ @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
+ @skipIfRemote # Not remote test suite ready
@no_debug_info_test
@skipUnlessGoInstalled
def test_go_formatter_plugin(self):
@@ -34,29 +36,37 @@ class TestGoLanguage(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
- self.bpt = target.BreakpointCreateByLocation(self.main_source, self.break_line)
+ self.bpt = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line)
self.assertTrue(self.bpt, VALID_BREAKPOINT)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
# The stop reason of the thread should be breakpoint.
- thread_list = lldbutil.get_threads_stopped_at_breakpoint (process, self.bpt)
+ thread_list = lldbutil.get_threads_stopped_at_breakpoint(
+ process, self.bpt)
# Make sure we stopped at the first breakpoint.
- self.assertTrue (len(thread_list) != 0, "No thread stopped at our breakpoint.")
- self.assertTrue (len(thread_list) == 1, "More than one thread stopped at our breakpoint.")
+ self.assertTrue(
+ len(thread_list) != 0,
+ "No thread stopped at our breakpoint.")
+ self.assertTrue(len(thread_list) == 1,
+ "More than one thread stopped at our breakpoint.")
frame = thread_list[0].GetFrameAtIndex(0)
- self.assertTrue (frame, "Got a valid frame 0 frame.")
+ self.assertTrue(frame, "Got a valid frame 0 frame.")
def check_formatters(self):
a = self.frame().FindVariable('a')
self.assertEqual('(string) a = "my string"', str(a))
b = self.frame().FindVariable('b')
- self.assertEqual("([]int) b = (len 2, cap 7) {\n [0] = 0\n [1] = 0\n}", str(b))
+ self.assertEqual(
+ "([]int) b = (len 2, cap 7) {\n [0] = 0\n [1] = 0\n}",
+ str(b))
if __name__ == '__main__':
diff --git a/packages/Python/lldbsuite/test/lang/go/goroutines/TestGoroutines.py b/packages/Python/lldbsuite/test/lang/go/goroutines/TestGoroutines.py
index 8aff2e514bb92..e0cf9e8d77592 100644
--- a/packages/Python/lldbsuite/test/lang/go/goroutines/TestGoroutines.py
+++ b/packages/Python/lldbsuite/test/lang/go/goroutines/TestGoroutines.py
@@ -3,20 +3,21 @@
from __future__ import print_function
-
-import os, time
+import os
+import time
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
class TestGoASTContext(TestBase):
mydir = TestBase.compute_mydir(__file__)
@add_test_categories(['pyapi'])
- @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
- @skipIfRemote # Not remote test suite ready
+ @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
+ @skipIfRemote # Not remote test suite ready
@no_debug_info_test
@skipUnlessGoInstalled
def test_goroutine_plugin(self):
@@ -40,47 +41,64 @@ class TestGoASTContext(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
- self.bpt1 = target.BreakpointCreateByLocation(self.main_source, self.break_line1)
+ self.bpt1 = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line1)
self.assertTrue(self.bpt1, VALID_BREAKPOINT)
- self.bpt2 = target.BreakpointCreateByLocation(self.main_source, self.break_line2)
+ self.bpt2 = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line2)
self.assertTrue(self.bpt2, VALID_BREAKPOINT)
- self.bpt3 = target.BreakpointCreateByLocation(self.main_source, self.break_line3)
+ self.bpt3 = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line3)
self.assertTrue(self.bpt3, VALID_BREAKPOINT)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
# The stop reason of the thread should be breakpoint.
- thread_list = lldbutil.get_threads_stopped_at_breakpoint (process, self.bpt1)
+ thread_list = lldbutil.get_threads_stopped_at_breakpoint(
+ process, self.bpt1)
# Make sure we stopped at the first breakpoint.
- self.assertTrue (len(thread_list) != 0, "No thread stopped at our breakpoint.")
- self.assertTrue (len(thread_list) == 1, "More than one thread stopped at our breakpoint.")
+ self.assertTrue(
+ len(thread_list) != 0,
+ "No thread stopped at our breakpoint.")
+ self.assertTrue(len(thread_list) == 1,
+ "More than one thread stopped at our breakpoint.")
frame = thread_list[0].GetFrameAtIndex(0)
- self.assertTrue (frame, "Got a valid frame 0 frame.")
+ self.assertTrue(frame, "Got a valid frame 0 frame.")
def check_goroutines(self):
self.assertLess(len(self.process().threads), 20)
self.process().Continue()
# Make sure we stopped at the 2nd breakpoint
- thread_list = lldbutil.get_threads_stopped_at_breakpoint (self.process(), self.bpt2)
- self.assertTrue (len(thread_list) != 0, "No thread stopped at our breakpoint.")
- self.assertTrue (len(thread_list) == 1, "More than one thread stopped at our breakpoint.")
-
+ thread_list = lldbutil.get_threads_stopped_at_breakpoint(
+ self.process(), self.bpt2)
+ self.assertTrue(
+ len(thread_list) != 0,
+ "No thread stopped at our breakpoint.")
+ self.assertTrue(len(thread_list) == 1,
+ "More than one thread stopped at our breakpoint.")
+
# There's (at least) 21 goroutines.
self.assertGreater(len(self.process().threads), 20)
# self.dbg.HandleCommand("log enable lldb os")
- # Now test that stepping works if the memory thread moves to a different backing thread.
+ # Now test that stepping works if the memory thread moves to a
+ # different backing thread.
for i in list(range(11)):
self.thread().StepOver()
- self.assertEqual(lldb.eStopReasonPlanComplete, self.thread().GetStopReason(), self.thread().GetStopDescription(100))
-
+ self.assertEqual(
+ lldb.eStopReasonPlanComplete,
+ self.thread().GetStopReason(),
+ self.thread().GetStopDescription(100))
+
# Disable the plugin and make sure the goroutines disappear
- self.dbg.HandleCommand("settings set plugin.os.goroutines.enable false")
+ self.dbg.HandleCommand(
+ "settings set plugin.os.goroutines.enable false")
self.thread().StepInstruction(False)
self.assertLess(len(self.process().threads), 20)
diff --git a/packages/Python/lldbsuite/test/lang/go/types/TestGoASTContext.py b/packages/Python/lldbsuite/test/lang/go/types/TestGoASTContext.py
index bf7bc93a44b4e..8e158c3e82d49 100644
--- a/packages/Python/lldbsuite/test/lang/go/types/TestGoASTContext.py
+++ b/packages/Python/lldbsuite/test/lang/go/types/TestGoASTContext.py
@@ -3,20 +3,21 @@
from __future__ import print_function
-
-import os, time
+import os
+import time
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
+
class TestGoASTContext(TestBase):
mydir = TestBase.compute_mydir(__file__)
@add_test_categories(['pyapi'])
- @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
- @skipIfRemote # Not remote test suit ready
+ @skipIfFreeBSD # llvm.org/pr24895 triggers assertion failure
+ @skipIfRemote # Not remote test suit ready
@no_debug_info_test
@skipUnlessGoInstalled
def test_with_dsym_and_python_api(self):
@@ -31,7 +32,8 @@ class TestGoASTContext(TestBase):
TestBase.setUp(self)
# Find the line numbers to break inside main().
self.main_source = "main.go"
- self.break_line = line_number(self.main_source, '// Set breakpoint here.')
+ self.break_line = line_number(
+ self.main_source, '// Set breakpoint here.')
def check_builtin(self, name, size=0, typeclass=lldb.eTypeClassBuiltin):
tl = self.target().FindTypes(name)
@@ -48,23 +50,28 @@ class TestGoASTContext(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
- bpt = target.BreakpointCreateByLocation(self.main_source, self.break_line)
+ bpt = target.BreakpointCreateByLocation(
+ self.main_source, self.break_line)
self.assertTrue(bpt, VALID_BREAKPOINT)
# Now launch the process, and do not stop at entry point.
- process = target.LaunchSimple (None, None, self.get_process_working_directory())
+ process = target.LaunchSimple(
+ None, None, self.get_process_working_directory())
self.assertTrue(process, PROCESS_IS_VALID)
# The stop reason of the thread should be breakpoint.
- thread_list = lldbutil.get_threads_stopped_at_breakpoint (process, bpt)
+ thread_list = lldbutil.get_threads_stopped_at_breakpoint(process, bpt)
# Make sure we stopped at the first breakpoint.
- self.assertTrue (len(thread_list) != 0, "No thread stopped at our breakpoint.")
- self.assertTrue (len(thread_list) == 1, "More than one thread stopped at our breakpoint.")
+ self.assertTrue(
+ len(thread_list) != 0,
+ "No thread stopped at our breakpoint.")
+ self.assertTrue(len(thread_list) == 1,
+ "More than one thread stopped at our breakpoint.")
frame = thread_list[0].GetFrameAtIndex(0)
- self.assertTrue (frame, "Got a valid frame 0 frame.")
+ self.assertTrue(frame, "Got a valid frame 0 frame.")
def go_builtin_types(self):
address_size = self.target().GetAddressByteSize()
@@ -93,19 +100,19 @@ class TestGoASTContext(TestBase):
def check_main_vars(self):
v = self.var('theBool')
self.assertEqual('true', v.value)
-
+
v = self.var('theInt')
self.assertEqual('-7', v.value)
-
+
v = self.var('theComplex')
self.assertEqual('1 + 2i', v.value)
-
+
v = self.var('thePointer')
self.assertTrue(v.TypeIsPointerType())
self.assertEqual('-10', v.Dereference().value)
self.assertEqual(1, v.GetNumChildren())
self.assertEqual('-10', v.GetChildAtIndex(0).value)
-
+
# print()
# print(os.getpid())
# time.sleep(60)
@@ -115,8 +122,11 @@ class TestGoASTContext(TestBase):
self.assertEqual(2, v.GetNumChildren())
self.assertEqual('7', v.GetChildAtIndex(0).value)
self.assertEqual('7', v.GetChildMemberWithName('myInt').value)
- self.assertEqual(v.load_addr, v.GetChildAtIndex(1).GetValueAsUnsigned())
- self.assertEqual(v.load_addr, v.GetChildMemberWithName('myPointer').GetValueAsUnsigned())
+ self.assertEqual(
+ v.load_addr,
+ v.GetChildAtIndex(1).GetValueAsUnsigned())
+ self.assertEqual(v.load_addr, v.GetChildMemberWithName(
+ 'myPointer').GetValueAsUnsigned())
# Test accessing struct fields through pointers.
v = v.GetChildMemberWithName('myPointer')