Skip 2 android test what is broken because of debuggerd

debuggerd is a crash reporting system on android what installs some
signal handler for SEGV to print a backtrace in the log. Its behavior
breaks tests where the test tries to continue after a SEGV so we skip
them as this behavior isn't required on android anyway.

llvm-svn: 278510
This commit is contained in:
Tamas Berghammer 2016-08-12 14:17:05 +00:00
parent 4223dd8559
commit 3785393def
2 changed files with 2 additions and 7 deletions

View File

@ -49,7 +49,7 @@ class CrashingInferiorTestCase(TestBase):
@expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr24939') @expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr24939')
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778, This actually works, but the test relies on the output format instead of the API") @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778, This actually works, but the test relies on the output format instead of the API")
@expectedFailureAndroid(archs=['aarch64'], api_levels=list(range(21 + 1))) # No eh_frame for sa_restorer @skipIfTargetAndroid() # debuggerd interferes with this test on Android
def test_inferior_crashing_step_after_break(self): def test_inferior_crashing_step_after_break(self):
"""Test that lldb functions correctly after stepping through a crash.""" """Test that lldb functions correctly after stepping through a crash."""
self.build() self.build()
@ -190,8 +190,6 @@ class CrashingInferiorTestCase(TestBase):
expected_state = 'exited' # Provide the exit code. expected_state = 'exited' # Provide the exit code.
if self.platformIsDarwin(): if self.platformIsDarwin():
expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash. expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash.
elif re.match(".*-.*-.*-android", self.dbg.GetSelectedPlatform().GetTriple()):
expected_state = 'stopped' # android has a default SEGV handler, which will re-raise the signal, so we come up stopped again
self.expect("next", self.expect("next",
substrs = ['Process', expected_state]) substrs = ['Process', expected_state])

View File

@ -49,7 +49,7 @@ class CrashingRecursiveInferiorTestCase(TestBase):
@expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr24939') @expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr24939')
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778") @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
@expectedFailureAndroid(archs=['aarch64'], api_levels=list(range(21 + 1))) # No eh_frame for sa_restorer @skipIfTargetAndroid() # debuggerd interferes with this test on Android
def test_recursive_inferior_crashing_step_after_break(self): def test_recursive_inferior_crashing_step_after_break(self):
"""Test that lldb functions correctly after stepping through a crash.""" """Test that lldb functions correctly after stepping through a crash."""
self.build() self.build()
@ -187,9 +187,6 @@ class CrashingRecursiveInferiorTestCase(TestBase):
expected_state = 'exited' # Provide the exit code. expected_state = 'exited' # Provide the exit code.
if self.platformIsDarwin(): if self.platformIsDarwin():
expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash. expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash.
elif re.match(".*-.*-.*-android", self.dbg.GetSelectedPlatform().GetTriple()):
expected_state = 'stopped' # android has a default SEGV handler, which will re-raise the signal, so we come up stopped again
self.expect("next", self.expect("next",
substrs = ['Process', expected_state]) substrs = ['Process', expected_state])