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/functionalities/return-value/TestReturnValue.py50
1 files changed, 39 insertions, 11 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py b/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
index 778c098a38e..90562f52a4b 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
@@ -171,17 +171,45 @@ class ReturnValueTestCase(TestBase):
#self.return_and_test_struct_value ("return_one_int_one_double_packed")
self.return_and_test_struct_value("return_one_int_one_long")
- # icc and gcc don't support this extension.
- if self.getCompiler().endswith('clang'):
- self.return_and_test_struct_value("return_vector_size_float32_8")
- self.return_and_test_struct_value("return_vector_size_float32_16")
- self.return_and_test_struct_value("return_vector_size_float32_32")
- self.return_and_test_struct_value(
- "return_ext_vector_size_float32_2")
- self.return_and_test_struct_value(
- "return_ext_vector_size_float32_4")
- self.return_and_test_struct_value(
- "return_ext_vector_size_float32_8")
+ @expectedFailureAll(oslist=["freebsd"], archs=["i386"])
+ @expectedFailureAll(oslist=["macosx"], archs=["i386"], bugnumber="<rdar://problem/28719652>")
+ @expectedFailureAll(
+ oslist=["linux"],
+ compiler="clang",
+ compiler_version=[
+ "<=",
+ "3.6"],
+ archs=["i386"])
+ @expectedFailureAll(
+ bugnumber="llvm.org/pr25785",
+ hostoslist=["windows"],
+ compiler="gcc",
+ archs=["i386"],
+ triple='.*-android')
+ @expectedFailureAll(compiler=["gcc"], archs=["x86_64", "i386"])
+ @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
+ def test_vector_values(self):
+ self.build()
+ exe = os.path.join(os.getcwd(), "a.out")
+ error = lldb.SBError()
+
+ self.target = self.dbg.CreateTarget(exe)
+ self.assertTrue(self.target, VALID_TARGET)
+
+ main_bktp = self.target.BreakpointCreateByName("main", exe)
+ self.assertTrue(main_bktp, VALID_BREAKPOINT)
+
+ self.process = self.target.LaunchSimple(
+ None, None, self.get_process_working_directory())
+ self.assertEqual(len(lldbutil.get_threads_stopped_at_breakpoint(
+ self.process, main_bktp)), 1)
+
+ self.return_and_test_struct_value("return_vector_size_float32_8")
+ self.return_and_test_struct_value("return_vector_size_float32_16")
+ self.return_and_test_struct_value("return_vector_size_float32_32")
+ self.return_and_test_struct_value("return_ext_vector_size_float32_2")
+ self.return_and_test_struct_value("return_ext_vector_size_float32_4")
+ self.return_and_test_struct_value("return_ext_vector_size_float32_8")
def return_and_test_struct_value(self, func_name):
"""Pass in the name of the function to return from - takes in value, returns value."""
OpenPOWER on IntegriCloud