summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py37
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/thread/jump/TestThreadJump.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py7
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py4
4 files changed, 39 insertions, 15 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py b/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py
index 8a949bcd779..db7c2edc6ac 100644
--- a/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py
+++ b/lldb/packages/Python/lldbsuite/test/expression_command/test/TestExprs2.py
@@ -43,23 +43,38 @@ class ExprCommands2TestCase(TestBase):
startstr="(int *) $0 = 0x")
# (int *) $0 = 0x00007fff5fbff258
- # Do anonymous symbols work?
- self.expect("expression ((char**)environ)[0]",
- startstr="(char *) $1 = 0x")
- # (char *) $1 = 0x00007fff5fbff298 "Apple_PubSub_Socket_Render=/tmp/launch-7AEsUD/Render"
-
# Do return values containing the contents of expression locals work?
self.expect("expression int i = 5; i",
- startstr="(int) $2 = 5")
+ startstr="(int) $1 = 5")
# (int) $2 = 5
- self.expect("expression $2 + 1",
- startstr="(int) $3 = 6")
+ self.expect("expression $1 + 1",
+ startstr="(int) $2 = 6")
# (int) $3 = 6
# Do return values containing the results of static expressions work?
self.expect("expression 20 + 3",
- startstr="(int) $4 = 23")
+ startstr="(int) $3 = 23")
# (int) $4 = 5
- self.expect("expression $4 + 1",
- startstr="(int) $5 = 24")
+ self.expect("expression $3 + 1",
+ startstr="(int) $4 = 24")
# (int) $5 = 6
+
+ @skipIfLinux
+ @expectedFailureAll(
+ oslist=["windows"],
+ bugnumber="llvm.org/pr24489: Name lookup not working correctly on Windows")
+ def test_expr_symbols(self):
+ """Test symbols."""
+ self.build()
+
+ self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
+
+ lldbutil.run_break_set_by_file_and_line(
+ self, "main.cpp", self.line, num_expected_locations=1, loc_exact=False)
+
+ self.runCmd("run", RUN_SUCCEEDED)
+
+ # Do anonymous symbols work?
+ self.expect("expression ((char**)environ)[0]",
+ startstr="(char *) $1 = 0x")
+ # (char *) $1 = 0x00007fff5fbff298 "Apple_PubSub_Socket_Render=/tmp/launch-7AEsUD/Render"
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/thread/jump/TestThreadJump.py b/lldb/packages/Python/lldbsuite/test/functionalities/thread/jump/TestThreadJump.py
index 2a66c6ce12e..7194dafe0ac 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/thread/jump/TestThreadJump.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/thread/jump/TestThreadJump.py
@@ -50,8 +50,10 @@ class ThreadJumpTestCase(TestBase):
self.do_min_test(self.mark3, self.mark2, "i", "5")
# Try the double path, force it to return 'a'
self.do_min_test(self.mark4, self.mark1, "j", "7")
- # Try the double path, force it to return 'b'
- self.do_min_test(self.mark4, self.mark2, "j", "8")
+ # Expected to fail on powerpc64le architecture
+ if not self.isPPC64le():
+ # Try the double path, force it to return 'b'
+ self.do_min_test(self.mark4, self.mark2, "j", "8")
# Try jumping to another function in a different file.
self.runCmd(
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 4f8039906e5..b3283e4e6a0 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -1236,6 +1236,13 @@ class Base(unittest2.TestCase):
return True
return False
+ def isPPC64le(self):
+ """Returns true if the architecture is PPC64LE."""
+ arch = self.getArchitecture()
+ if re.match("powerpc64le", arch):
+ return True
+ return False
+
def getArchitecture(self):
"""Returns the architecture in effect the test suite is running with."""
module = builder_module()
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
index de15343f6ad..5e1ceb8c3e4 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
@@ -80,8 +80,8 @@ class MiDataTestCase(lldbmi_testcase.MiTestCaseBase):
# To match the escaped characters in the ouptut, we must use four backslashes per matches backslash
# See https://docs.python.org/2/howto/regex.html#the-backslash-plague
- # The MIPS disassembler never prints stub name
- if self.isMIPS():
+ # The MIPS and PPC64le disassemblers never print stub name
+ if self.isMIPS() or self.isPPC64le():
self.expect(["{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?; \\\\\"Hello, World!\\\\\\\\n\\\\\"\"}",
"{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?\"}"])
else:
OpenPOWER on IntegriCloud