summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py3
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/disassembly/TestDisassembleBreakpoint.py2
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/array/TestArray.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/bad-reference/TestBadReference.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/complicated-expression/TestComplicatedExpression.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-this/TestDiagnoseDereferenceThis.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/inheritance/TestDiagnoseInheritance.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/local-variable/TestLocalVariable.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py12
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py3
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/process_attach/attach_denied/TestAttachDenied.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/process_group/TestChangeProcessGroup.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py35
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py60
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/stop-hook/TestStopHookMechanism.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py2
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py18
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py1
30 files changed, 123 insertions, 39 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py b/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py
index 867b6053a57..a4e3948e81c 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py
@@ -34,6 +34,7 @@ class AvoidsFdLeakTestCase(TestBase):
# here.
@skipIfWindows
@skipIfTargetAndroid() # Android have some other file descriptors open by the shell
+ @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
def test_fd_leak_basic(self):
self.do_test([])
@@ -45,6 +46,7 @@ class AvoidsFdLeakTestCase(TestBase):
# here.
@skipIfWindows
@skipIfTargetAndroid() # Android have some other file descriptors open by the shell
+ @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
def test_fd_leak_log(self):
self.do_test(["log enable -f '/dev/null' lldb commands"])
@@ -76,6 +78,7 @@ class AvoidsFdLeakTestCase(TestBase):
# here.
@skipIfWindows
@skipIfTargetAndroid() # Android have some other file descriptors open by the shell
+ @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
def test_fd_leak_multitarget(self):
self.build()
exe = os.path.join(os.getcwd(), "a.out")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py
index 2d66a941ed3..750e2946073 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py
@@ -46,6 +46,7 @@ class NSIndexPathDataFormatterTestCase(TestBase):
@skipUnlessDarwin
@expectedFailureAll(archs=['i386'], bugnumber="rdar://28656605")
+ @expectedFailureAll(archs=['armv7', 'armv7k'], bugnumber="rdar://problem/34561607") # NSIndexPath formatter isn't working for 32-bit arm
def test_nsindexpath_with_run_command(self):
"""Test formatters for NSIndexPath."""
self.appkit_tester_impl(self.nsindexpath_data_formatter_commands)
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/disassembly/TestDisassembleBreakpoint.py b/lldb/packages/Python/lldbsuite/test/functionalities/disassembly/TestDisassembleBreakpoint.py
index e5d81d8cefc..cee472ccb51 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/disassembly/TestDisassembleBreakpoint.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/disassembly/TestDisassembleBreakpoint.py
@@ -45,7 +45,7 @@ class DisassemblyTestCase(TestBase):
if arch in ["", 'x86_64', 'i386', 'i686']:
breakpoint_opcodes = ["int3"]
instructions = [' mov', ' addl ', 'ret']
- elif arch in ["arm", "aarch64"]:
+ elif arch in ["arm", "aarch64", "arm64", "armv7", "armv7k"]:
breakpoint_opcodes = ["brk", "udf"]
instructions = [' add ', ' ldr ', ' str ']
elif re.match("mips", arch):
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py b/lldb/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
index 65271c3894b..fcab7bba6e2 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/exec/TestExec.py
@@ -28,6 +28,7 @@ class ExecTestCase(TestBase):
@skipUnlessDarwin
@expectedFailureAll(archs=['i386'], bugnumber="rdar://28656532")
+ @expectedFailureAll(oslist=["ios", "tvos", "watchos", "bridgeos"], bugnumber="rdar://problem/34559552") # this exec test has problems on ios systems
def test(self):
if self.getArchitecture() == 'x86_64':
source = os.path.join(os.getcwd(), "main.cpp")
@@ -97,5 +98,10 @@ class ExecTestCase(TestBase):
threads = lldbutil.get_threads_stopped_at_breakpoint(
process, breakpoint)
+ if self.TraceOn():
+ for t in process.threads:
+ print(t)
+ if t.GetStopReason() != lldb.eStopReasonBreakpoint:
+ self.runCmd("bt")
self.assertTrue(len(threads) == 1,
"Stopped at breakpoint in exec'ed process.")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/array/TestArray.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/array/TestArray.py
index 46264f3dfe8..276760d3057 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/array/TestArray.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/array/TestArray.py
@@ -15,6 +15,7 @@ class TestArray(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_array(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/bad-reference/TestBadReference.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/bad-reference/TestBadReference.py
index dd8ff949fa9..6529e11fafa 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/bad-reference/TestBadReference.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/bad-reference/TestBadReference.py
@@ -15,6 +15,7 @@ class TestBadReference(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_bad_reference(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/complicated-expression/TestComplicatedExpression.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/complicated-expression/TestComplicatedExpression.py
index a8708169bb3..2e6fad5e1fd 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/complicated-expression/TestComplicatedExpression.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/complicated-expression/TestComplicatedExpression.py
@@ -15,6 +15,7 @@ class TestDiagnoseDereferenceArgument(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_diagnose_dereference_argument(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
index 80128eec1f7..7839a47a8f4 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
@@ -15,6 +15,7 @@ class TestDiagnoseDereferenceArgument(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_diagnose_dereference_argument(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
index 5e097afdc9b..8e5cd430293 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
@@ -15,6 +15,7 @@ class TestDiagnoseDereferenceFunctionReturn(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
@expectedFailureAll(oslist=['macosx'], archs=['i386'], bugnumber="rdar://28656408")
def test_diagnose_dereference_function_return(self):
TestBase.setUp(self)
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-this/TestDiagnoseDereferenceThis.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-this/TestDiagnoseDereferenceThis.py
index 233c9e403bd..201923fb89d 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-this/TestDiagnoseDereferenceThis.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/dereference-this/TestDiagnoseDereferenceThis.py
@@ -15,6 +15,7 @@ class TestDiagnoseDereferenceThis(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_diagnose_dereference_this(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/inheritance/TestDiagnoseInheritance.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/inheritance/TestDiagnoseInheritance.py
index 267223ad085..08ef1c7fc5e 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/inheritance/TestDiagnoseInheritance.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/inheritance/TestDiagnoseInheritance.py
@@ -15,6 +15,7 @@ class TestDiagnoseInheritance(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_diagnose_inheritance(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/local-variable/TestLocalVariable.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/local-variable/TestLocalVariable.py
index a1a17c94176..e962c2673fa 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/local-variable/TestLocalVariable.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/local-variable/TestLocalVariable.py
@@ -15,6 +15,7 @@ class TestLocalVariable(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_local_variable(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
index adf092d8615..bc11bd1afb7 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/frame-diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
@@ -15,6 +15,7 @@ class TestDiagnoseVirtualMethodCall(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
def test_diagnose_virtual_method_call(self):
TestBase.setUp(self)
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py b/lldb/packages/Python/lldbsuite/test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py
index 0ebb99d3fd4..43fa5f9d33f 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/launch_with_shellexpand/TestLaunchWithShellExpand.py
@@ -22,6 +22,7 @@ class LaunchWithShellExpandTestCase(TestBase):
"linux",
"freebsd"],
bugnumber="llvm.org/pr24778 llvm.org/pr22627")
+ @skipIfDarwinEmbedded # iOS etc don't launch the binary via a shell, so arg expansion won't happen
def test(self):
self.build()
exe = os.path.join(os.getcwd(), "a.out")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile
index 779745c4d26..31572f2b82a 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile
@@ -12,6 +12,7 @@ a.out: lib_a lib_b lib_c lib_d hidden_lib_d
lib_%:
$(MAKE) -f $*.mk
+ if [ "$(OS)" = "Darwin" -a -f libloadunload_d.dylib ]; then install_name_tool -id @executable_path/libloadunload_d.dylib libloadunload_d.dylib; fi
hidden_lib_d:
$(MAKE) -C hidden
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py
index 027968a727f..8e548e11658 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py
@@ -56,10 +56,14 @@ class LoadUnloadTestCase(TestBase):
Does nothing in case of non-remote platforms.
"""
if lldb.remote_platform:
- cwd = os.getcwd()
- shlibs = ['libloadunload_a.so', 'libloadunload_b.so',
- 'libloadunload_c.so', 'libloadunload_d.so']
+ ext = 'so'
+ if self.platformIsDarwin():
+ ext = 'dylib'
+
+ shlibs = ['libloadunload_a.' + ext, 'libloadunload_b.' + ext,
+ 'libloadunload_c.' + ext, 'libloadunload_d.' + ext]
wd = lldb.remote_platform.GetWorkingDirectory()
+ cwd = os.getcwd()
for f in shlibs:
err = lldb.remote_platform.Put(
lldb.SBFileSpec(os.path.join(cwd, f)),
@@ -69,7 +73,7 @@ class LoadUnloadTestCase(TestBase):
"Unable copy '%s' to '%s'.\n>>> %s" %
(f, wd, err.GetCString()))
if hidden_dir:
- shlib = 'libloadunload_d.so'
+ shlib = 'libloadunload_d.' + ext
hidden_dir = os.path.join(wd, 'hidden')
hidden_file = os.path.join(hidden_dir, shlib)
err = lldb.remote_platform.MakeDirectory(hidden_dir)
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py b/lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py
index 6a779ecfac5..808011f0fe9 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py
@@ -17,6 +17,7 @@ class MTCSimpleTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
+ @skipIfDarwinEmbedded # Test file depends on AppKit which is not present on iOS etc.
def test(self):
self.mtc_dylib_path = findMainThreadCheckerDylib()
if self.mtc_dylib_path == "":
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
index f3910f12bab..c4d372cd3d3 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
@@ -23,6 +23,7 @@ class ProcessAttachTestCase(TestBase):
NO_DEBUG_INFO_TESTCASE = True
@skipIfiOSSimulator
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_attach_to_process_by_id(self):
"""Test attach by process id"""
self.build()
@@ -39,6 +40,7 @@ class ProcessAttachTestCase(TestBase):
process = target.GetProcess()
self.assertTrue(process, PROCESS_IS_VALID)
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_attach_to_process_from_different_dir_by_id(self):
"""Test attach by process id"""
try:
@@ -65,6 +67,7 @@ class ProcessAttachTestCase(TestBase):
process = target.GetProcess()
self.assertTrue(process, PROCESS_IS_VALID)
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_attach_to_process_by_name(self):
"""Test attach by process name"""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/attach_denied/TestAttachDenied.py b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/attach_denied/TestAttachDenied.py
index 071f5d57c78..5465b7155f5 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/attach_denied/TestAttachDenied.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/attach_denied/TestAttachDenied.py
@@ -21,6 +21,7 @@ class AttachDeniedTestCase(TestBase):
@skipIfWindows
@skipIfiOSSimulator
+ @skipIfDarwinEmbedded # ptrace(ATTACH_REQUEST...) won't work on ios/tvos/etc
def test_attach_to_process_by_id_denied(self):
"""Test attach by process id denied"""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/process_group/TestChangeProcessGroup.py b/lldb/packages/Python/lldbsuite/test/functionalities/process_group/TestChangeProcessGroup.py
index 00b4d415340..91436446ad9 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/process_group/TestChangeProcessGroup.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/process_group/TestChangeProcessGroup.py
@@ -23,6 +23,7 @@ class ChangeProcessGroupTestCase(TestBase):
@skipIfFreeBSD # Times out on FreeBSD llvm.org/pr23731
@skipIfWindows # setpgid call does not exist on Windows
@expectedFailureAndroid("http://llvm.org/pr23762", api_levels=[16])
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_setpgid(self):
self.build()
exe = os.path.join(os.getcwd(), 'a.out')
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py b/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py
index fe6ce2c25a3..33680ca91d6 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py
@@ -45,7 +45,7 @@ class RegisterCommandsTestCase(TestBase):
self.runCmd("register read xmm0")
self.runCmd("register read ymm15") # may be available
self.runCmd("register read bnd0") # may be available
- elif self.getArchitecture() in ['arm']:
+ elif self.getArchitecture() in ['arm', 'armv7', 'arm64']:
self.runCmd("register read s0")
self.runCmd("register read q15") # may be available
@@ -84,7 +84,10 @@ class RegisterCommandsTestCase(TestBase):
if self.getArchitecture() in ['amd64', 'i386', 'x86_64']:
gpr = "eax"
vector = "xmm0"
- elif self.getArchitecture() in ['arm']:
+ elif self.getArchitecture() in ['arm64', 'aarch64']:
+ gpr = "w0"
+ vector = "v0"
+ elif self.getArchitecture() in ['arm', 'armv7']:
gpr = "r0"
vector = "q0"
@@ -317,6 +320,34 @@ class RegisterCommandsTestCase(TestBase):
("xmm15",
"{0x01 0x02 0x03 0x00 0x00 0x00 0x00 0x00 0x09 0x0a 0x2f 0x2f 0x2f 0x2f 0x0e 0x0f}",
False))
+ elif self.getArchitecture() in ['arm64', 'aarch64']:
+ reg_list = [
+ # reg value
+ # must-have
+ ("fpsr", "0xfbf79f9f", True),
+ ("s0", "1.25", True),
+ ("s31", "0.75", True),
+ ("d1", "123", True),
+ ("d17", "987", False),
+ ("v1", "{0x01 0x02 0x03 0x00 0x00 0x00 0x00 0x00 0x09 0x0a 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}", True),
+ ("v14",
+ "{0x01 0x02 0x03 0x00 0x00 0x00 0x00 0x00 0x09 0x0a 0x2f 0x2f 0x2f 0x2f 0x0e 0x0f}",
+ False),
+ ]
+ elif self.getArchitecture() in ['armv7', 'armv7k']:
+ reg_list = [
+ # reg value
+ # must-have
+ ("fpsr", "0xfbf79f9f", True),
+ ("s0", "1.25", True),
+ ("s31", "0.75", True),
+ ("d1", "123", True),
+ ("d17", "987", False),
+ ("q1", "{0x01 0x02 0x03 0x00 0x00 0x00 0x00 0x00 0x09 0x0a 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}", True),
+ ("q14",
+ "{0x01 0x02 0x03 0x00 0x00 0x00 0x00 0x00 0x09 0x0a 0x2f 0x2f 0x2f 0x2f 0x0e 0x0f}",
+ False),
+ ]
elif self.getArchitecture() in ['arm']:
reg_list = [
# reg value
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 1750bd31b3d..606a71ff501 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
@@ -22,6 +22,10 @@ class ReturnValueTestCase(TestBase):
return ("clang" in self.getCompiler() and self.getArchitecture() ==
"aarch64" and self.getPlatform() == "linux")
+ # ABIMacOSX_arm can't fetch simple values inside a structure
+ def affected_by_radar_34562999(self):
+ return (self.getArchitecture() == 'armv7' or self.getArchitecture() == 'armv7k') and self.platformIsDarwin()
+
@expectedFailureAll(oslist=["freebsd"], archs=["i386"])
@expectedFailureAll(oslist=["macosx"], archs=["i386"], bugnumber="<rdar://problem/28719652>")
@expectedFailureAll(
@@ -142,33 +146,34 @@ class ReturnValueTestCase(TestBase):
#self.assertTrue(in_float == return_float)
- self.return_and_test_struct_value("return_one_int")
- self.return_and_test_struct_value("return_two_int")
- self.return_and_test_struct_value("return_three_int")
- self.return_and_test_struct_value("return_four_int")
- if not self.affected_by_pr33042():
- self.return_and_test_struct_value("return_five_int")
-
- self.return_and_test_struct_value("return_two_double")
- self.return_and_test_struct_value("return_one_double_two_float")
- self.return_and_test_struct_value("return_one_int_one_float_one_int")
-
- self.return_and_test_struct_value("return_one_pointer")
- self.return_and_test_struct_value("return_two_pointer")
- self.return_and_test_struct_value("return_one_float_one_pointer")
- self.return_and_test_struct_value("return_one_int_one_pointer")
- self.return_and_test_struct_value("return_three_short_one_float")
-
- self.return_and_test_struct_value("return_one_int_one_double")
- self.return_and_test_struct_value("return_one_int_one_double_one_int")
- self.return_and_test_struct_value(
- "return_one_short_one_double_one_short")
- self.return_and_test_struct_value("return_one_float_one_int_one_float")
- self.return_and_test_struct_value("return_two_float")
- # I am leaving out the packed test until we have a way to tell CLANG
- # about alignment when reading DWARF for packed types.
- #self.return_and_test_struct_value ("return_one_int_one_double_packed")
- self.return_and_test_struct_value("return_one_int_one_long")
+ if not self.affected_by_radar_34562999():
+ self.return_and_test_struct_value("return_one_int")
+ self.return_and_test_struct_value("return_two_int")
+ self.return_and_test_struct_value("return_three_int")
+ self.return_and_test_struct_value("return_four_int")
+ if not self.affected_by_pr33042():
+ self.return_and_test_struct_value("return_five_int")
+
+ self.return_and_test_struct_value("return_two_double")
+ self.return_and_test_struct_value("return_one_double_two_float")
+ self.return_and_test_struct_value("return_one_int_one_float_one_int")
+
+ self.return_and_test_struct_value("return_one_pointer")
+ self.return_and_test_struct_value("return_two_pointer")
+ self.return_and_test_struct_value("return_one_float_one_pointer")
+ self.return_and_test_struct_value("return_one_int_one_pointer")
+ self.return_and_test_struct_value("return_three_short_one_float")
+
+ self.return_and_test_struct_value("return_one_int_one_double")
+ self.return_and_test_struct_value("return_one_int_one_double_one_int")
+ self.return_and_test_struct_value(
+ "return_one_short_one_double_one_short")
+ self.return_and_test_struct_value("return_one_float_one_int_one_float")
+ self.return_and_test_struct_value("return_two_float")
+ # I am leaving out the packed test until we have a way to tell CLANG
+ # about alignment when reading DWARF for packed types.
+ #self.return_and_test_struct_value ("return_one_int_one_double_packed")
+ self.return_and_test_struct_value("return_one_int_one_long")
@expectedFailureAll(oslist=["freebsd"], archs=["i386"])
@expectedFailureAll(oslist=["macosx"], archs=["i386"], bugnumber="<rdar://problem/28719652>")
@@ -181,6 +186,7 @@ class ReturnValueTestCase(TestBase):
archs=["i386"])
@expectedFailureAll(compiler=["gcc"], archs=["x86_64", "i386"])
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
+ @skipIfDarwinEmbedded # <rdar://problem/33976032> ABIMacOSX_arm64 doesn't get structs this big correctly
def test_vector_values(self):
self.build()
exe = os.path.join(os.getcwd(), "a.out")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py b/lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
index b0b2e609ba6..7ec934f26e0 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
@@ -52,6 +52,7 @@ class ReturnValueTestCase(TestBase):
"3.9"],
archs=["i386"],
bugnumber="llvm.org/pr28549")
+ @expectedFailureAll(oslist=["ios", "tvos", "bridgeos"], bugnumber="<rdar://problem/34026777>") # lldb doesn't step past last source line in function on arm64
def test_step_in_with_python(self):
"""Test stepping in using avoid-no-debug with dwarf."""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/stop-hook/TestStopHookMechanism.py b/lldb/packages/Python/lldbsuite/test/functionalities/stop-hook/TestStopHookMechanism.py
index fa5c6de0565..978e95fed41 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/stop-hook/TestStopHookMechanism.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/stop-hook/TestStopHookMechanism.py
@@ -39,6 +39,7 @@ class StopHookMechanismTestCase(TestBase):
@expectedFailureAll(
hostoslist=["windows"],
bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+ @skipIf(archs=['armv7', 'armv7k']) # <rdar://problem/34582291> problem with armv7 and step-over and stop-hook firing on ios etc systems
def test(self):
"""Test the stop-hook mechanism."""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py b/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
index fb6208a0d3e..442887ed4e1 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
@@ -23,6 +23,7 @@ class CreateAfterAttachTestCase(TestBase):
# Occasionally hangs on Windows, may be same as other issues.
@skipIfWindows
@skipIfiOSSimulator
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_create_after_attach_with_popen(self):
"""Test thread creation after process attach."""
self.build(dictionary=self.getBuildFlags(use_cpp11=False))
@@ -33,6 +34,7 @@ class CreateAfterAttachTestCase(TestBase):
@skipIfRemote
@skipIfWindows # Windows doesn't have fork.
@skipIfiOSSimulator
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails
def test_create_after_attach_with_fork(self):
"""Test thread creation after process attach."""
self.build(dictionary=self.getBuildFlags(use_cpp11=False))
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py b/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
index 0377b0c0a80..8f004e6d319 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break/TestThreadSpecificBreakpoint.py
@@ -20,6 +20,7 @@ class ThreadSpecificBreakTestCase(TestBase):
@add_test_categories(['pyapi'])
@expectedFailureAll(oslist=["windows"])
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], archs=['armv7', 'armv7k'], bugnumber='rdar://problem/34563920') # armv7 ios problem - breakpoint with tid qualifier isn't working
def test_python(self):
"""Test that we obey thread conditioned breakpoints."""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py b/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
index da9ba59f992..3eddaca3e30 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
@@ -24,6 +24,7 @@ class ThreadSpecificBreakPlusConditionTestCase(TestBase):
# hits break in another thread in testrun
@expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr18522')
@add_test_categories(['pyapi'])
+ @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], archs=['armv7', 'armv7k'], bugnumber='rdar://problem/34563348') # Two threads seem to end up with the same my_value when built for armv7.
def test_python(self):
"""Test that we obey thread conditioned breakpoints."""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py b/lldb/packages/Python/lldbsuite/test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
index e35bb966c91..0997c3a0b23 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
@@ -19,6 +19,7 @@ class SigtrampUnwind(TestBase):
# On different platforms the "_sigtramp" and "__kill" frames are likely to be different.
# This test could probably be adapted to run on linux/*bsd easily enough.
@skipUnlessDarwin
+ @expectedFailureAll(oslist=["ios", "tvos", "bridgeos"], bugnumber="<rdar://problem/34006863>") # lldb skips 1 frame on arm64 above _sigtramp
def test(self):
"""Test that we can backtrace correctly with _sigtramp on the stack"""
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py b/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py
index 2e58cb893b7..4c949ecea19 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/multi_watchpoint_slots/TestWatchpointMultipleSlots.py
@@ -67,9 +67,12 @@ class WatchpointSlotsTestCase(TestBase):
# The hit count should be 0 initially.
self.expect("watchpoint list -v 1", substrs=['hit_count = 0'])
- # Try setting a watchpoint at byteArray[1]
- self.expect("watchpoint set variable byteArray[1]", error=True,
- substrs=['Watchpoint creation failed'])
+ # debugserver on ios doesn't give an error, it creates another watchpoint,
+ # only expect errors on non-darwin platforms.
+ if not self.platformIsDarwin():
+ # Try setting a watchpoint at byteArray[1]
+ self.expect("watchpoint set variable byteArray[1]", error=True,
+ substrs=['Watchpoint creation failed'])
self.runCmd("process continue")
@@ -90,8 +93,13 @@ class WatchpointSlotsTestCase(TestBase):
# We should be stopped due to the watchpoint.
# The stop reason of the thread should be watchpoint.
- self.expect("thread list -v", STOPPED_DUE_TO_WATCHPOINT,
- substrs=['stopped', 'stop reason = watchpoint 3'])
+ if self.platformIsDarwin():
+ # On darwin we'll hit byteArray[3] which is watchpoint 2
+ self.expect("thread list -v", STOPPED_DUE_TO_WATCHPOINT,
+ substrs=['stopped', 'stop reason = watchpoint 2'])
+ else:
+ self.expect("thread list -v", STOPPED_DUE_TO_WATCHPOINT,
+ substrs=['stopped', 'stop reason = watchpoint 3'])
# Resume inferior.
self.runCmd("process continue")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py b/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
index 15657708ce4..ee87df3aa27 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
@@ -29,6 +29,7 @@ class TestStepOverWatchpoint(TestBase):
bugnumber="llvm.org/pr24446: WINDOWS XFAIL TRIAGE - Watchpoints not supported on Windows")
# Read-write watchpoints not supported on SystemZ
@expectedFailureAll(archs=['s390x'])
+ @expectedFailureAll(oslist=["ios", "tvos", "bridgeos"], bugnumber="<rdar://problem/34027183>") # watchpoint tests aren't working on arm64
def test(self):
"""Test stepping over watchpoints."""
self.build()
OpenPOWER on IntegriCloud