[lldb/Test] Add skipIfReproducer for tests that diverge during replay

Add the skipIfReproducer decorator to the remaining tests that fail to
replay because the GDB remote packets diverge during replay. This is
*not* expected and should be fixed, but figuring out exactly what caused
the divergence has proven pretty difficult to track down.

I've marked these tests as skipped for now so we can get clean results
and detect new regressions. I have no evidence to believe that these
failures have the same root cause, so I've not assigned them a PR.
This commit is contained in:
Jonas Devlieghere 2020-04-21 14:36:31 -07:00
parent 400b6f2bc5
commit 1e566f6b47
13 changed files with 17 additions and 0 deletions

View File

@ -14,6 +14,7 @@ class CmdPythonTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
NO_DEBUG_INFO_TESTCASE = True
@skipIfReproducer # Unexpected packet during replay
def test(self):
self.build()
self.pycmd_tests()

View File

@ -17,6 +17,7 @@ class Issue11581TestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
@skipIfReproducer # Unexpected packet during replay
def test_11581_commands(self):
# This is the function to remove the custom commands in order to have a
# clean slate for the next test case.

View File

@ -21,6 +21,7 @@ class AttachResumeTestCase(TestBase):
@expectedFailureAll(oslist=['freebsd'], bugnumber='llvm.org/pr19310')
@expectedFailureNetBSD
@skipIfWindows # llvm.org/pr24778, llvm.org/pr21753
@skipIfReproducer # Unexpected packet during replay
def test_attach_continue_interrupt_detach(self):
"""Test attach/continue/interrupt/detach"""
self.build()

View File

@ -39,6 +39,7 @@ class ProcessAttachTestCase(TestBase):
self.assertTrue(process, PROCESS_IS_VALID)
@expectedFailureNetBSD
@skipIfReproducer # Unexpected packet during replay
def test_attach_to_process_from_different_dir_by_id(self):
"""Test attach by process id"""
newdir = self.getBuildArtifact("newdir")

View File

@ -45,6 +45,7 @@ class TestScriptedResolver(TestBase):
self.build()
self.do_test_copy_from_dummy_target()
@skipIfReproducer # Unexpected packet during replay
def make_target_and_import(self):
target = self.make_target()
self.import_resolver_script()

View File

@ -26,6 +26,7 @@ class ConditionalBreakTestCase(TestBase):
self.build()
self.do_conditional_break()
@skipIfReproducer # Unexpected packet during replay
def test_with_command(self):
"""Simulate a user using lldb commands to break on c() if called from a()."""
self.build()

View File

@ -17,6 +17,7 @@ class TestGDBRemoteClient(GDBRemoteTestBase):
process = self.connect(target)
self.assertPacketLogContains(["qProcessInfo", "qfThreadInfo"])
@skipIfReproducer # Unexpected packet during replay
def test_attach_fail(self):
error_msg = "mock-error-msg"

View File

@ -23,6 +23,7 @@ class SendSignalTestCase(TestBase):
bugnumber="llvm.org/pr23318: does not report running state")
@expectedFailureNetBSD(bugnumber='llvm.org/pr43959')
@skipIfWindows # Windows does not support signals
@skipIfReproducer # Unexpected packet during replay
def test_with_run_command(self):
"""Test that lldb command 'process signal SIGUSR1' sends a signal to the inferior process."""
self.build()

View File

@ -4,6 +4,7 @@ Tests stepping with scripted thread plans.
import lldb
import lldbsuite.test.lldbutil as lldbutil
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
class StepScriptedTestCase(TestBase):
@ -17,12 +18,14 @@ class StepScriptedTestCase(TestBase):
self.main_source_file = lldb.SBFileSpec("main.c")
self.runCmd("command script import Steps.py")
@skipIfReproducer # Unexpected packet during replay
def test_standard_step_out(self):
"""Tests stepping with the scripted thread plan laying over a standard
thread plan for stepping out."""
self.build()
self.step_out_with_scripted_plan("Steps.StepOut")
@skipIfReproducer # Unexpected packet during replay
def test_scripted_step_out(self):
"""Tests stepping with the scripted thread plan laying over an another
scripted thread plan for stepping out."""
@ -62,10 +65,12 @@ class StepScriptedTestCase(TestBase):
# Make sure we didn't let the process run:
self.assertEqual(stop_id, process.GetStopID(), "Process didn't run")
@skipIfReproducer # Unexpected packet during replay
def test_checking_variable(self):
"""Test that we can call SBValue API's from a scripted thread plan - using SBAPI's to step"""
self.do_test_checking_variable(False)
@skipIfReproducer # Unexpected packet during replay
def test_checking_variable_cli(self):
"""Test that we can call SBValue API's from a scripted thread plan - using cli to step"""
self.do_test_checking_variable(True)

View File

@ -19,6 +19,7 @@ class RuntimeTypesTestCase(TestBase):
oslist=["macosx"],
debug_info="gmodules",
bugnumber="llvm.org/pr27862")
@skipIfReproducer # Unexpected packet during replay
def test_break(self):
"""Test setting objc breakpoints using '_regexp-break' and 'breakpoint set'."""
if self.getArchitecture() != 'x86_64':

View File

@ -22,6 +22,7 @@ class ObjCModulesTestCase(TestBase):
@skipUnlessDarwin
@skipIf(macos_version=["<", "10.12"])
@skipIfReproducer # Unexpected packet during replay
def test_expr(self):
self.build()
exe = self.getBuildArtifact("a.out")

View File

@ -24,6 +24,7 @@ class PrintObjTestCase(TestBase):
# Find the line numbers to break at.
self.line = line_number(self.source, '// Set a breakpoint here.')
@skipIfReproducer # Unexpected packet during replay
def test_print_obj(self):
"""
Test "print object" where another thread blocks the print object from making progress.

View File

@ -109,6 +109,7 @@ class HelloWorldTestCase(TestBase):
@skipIfiOSSimulator
@skipIfAsan # FIXME: Hangs indefinitely.
@expectedFailureNetBSD
@skipIfReproducer # Unexpected packet during replay
def test_with_attach_to_process_with_name_api(self):
"""Create target, spawn a process, and attach to it with process name."""
exe = '%s_%d'%(self.testMethodName, os.getpid())