[lldb] Modify the `skipIfRemote` decorator so we can skip all PExpect tests.

This patch modifies the skipIfRemote decorator so it can apply to a
whole class, which allows us to skip all PExpect tests as a whole.

Differential revision: https://reviews.llvm.org/D85365
This commit is contained in:
Jonas Devlieghere 2020-08-05 15:20:53 -07:00
parent 076b120beb
commit df46f174db
7 changed files with 4 additions and 12 deletions

View File

@ -502,9 +502,7 @@ def skipIfOutOfTreeDebugserver(func):
def skipIfRemote(func):
"""Decorate the item to skip tests if testing remotely."""
def is_remote():
return "skip on remote platform" if lldb.remote_platform else None
return skipTestIfFn(is_remote)(func)
return unittest2.skipIf(lldb.remote_platform, "skip on remote platform")(func)
def skipIfNoSBHeaders(func):

View File

@ -11,6 +11,7 @@ import six
import lldb
from .lldbtest import *
from . import lldbutil
from lldbsuite.test.decorators import *
if sys.platform.startswith('win32'):
# llvm.org/pr22274: need a pexpect replacement for windows
@ -19,6 +20,7 @@ if sys.platform.startswith('win32'):
else:
import pexpect
@skipIfRemote
class PExpectTest(TestBase):
NO_DEBUG_INFO_TESTCASE = True

View File

@ -14,7 +14,6 @@ class MultilineCompletionTest(PExpectTest):
# PExpect uses many timeouts internally and doesn't play well
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfRemote # test is written to explicitly "run" the binary
@skipIfEditlineSupportMissing
def test_basic_completion(self):
"""Test that we can complete a simple multiline expression"""

View File

@ -15,7 +15,6 @@ class BasicGuiCommandTest(PExpectTest):
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfCursesSupportMissing
@skipIfRemote # "run" command will not work correctly for remote debug
def test_gui(self):
self.build()

View File

@ -15,7 +15,6 @@ class TestGuiBasicDebugCommandTest(PExpectTest):
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfCursesSupportMissing
@skipIfRemote # "run" command will not work correctly for remote debug
@expectedFailureAll(archs=["aarch64"], oslist=["linux"])
def test_gui(self):
self.build()

View File

@ -15,7 +15,6 @@ class TestGuiBasicDebugCommandTest(PExpectTest):
# under ASAN on a loaded machine..
@skipIfAsan
@skipIfCursesSupportMissing
@skipIfRemote # "run" command will not work correctly for remote debug
def test_gui(self):
self.build()

View File

@ -16,7 +16,6 @@ class DriverBatchModeTest(PExpectTest):
mydir = TestBase.compute_mydir(__file__)
source = 'main.c'
@skipIfRemote # test not remote-ready llvm.org/pr24813
@expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
def test_batch_mode_run_crash(self):
"""Test that the lldb driver's batch mode works correctly."""
@ -47,7 +46,6 @@ class DriverBatchModeTest(PExpectTest):
self.expect_prompt()
self.expect("frame variable touch_me_not", substrs='(char *) touch_me_not')
@skipIfRemote # test not remote-ready llvm.org/pr24813
@expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
def test_batch_mode_run_exit(self):
"""Test that the lldb driver's batch mode works correctly."""
@ -77,7 +75,6 @@ class DriverBatchModeTest(PExpectTest):
import pexpect
child.expect(pexpect.EOF)
@skipIfRemote
@expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
def test_batch_mode_launch_stop_at_entry(self):
"""Test that the lldb driver's batch mode works correctly for process launch."""
@ -101,7 +98,7 @@ class DriverBatchModeTest(PExpectTest):
child.expect_exact("continue")
# The App should have not have crashed:
child.expect_exact("Got there on time and it did not crash.")
# Then lldb should exit.
child.expect_exact("exited")
import pexpect
@ -112,7 +109,6 @@ class DriverBatchModeTest(PExpectTest):
self.victim.close()
self.victim = None
@skipIfRemote # test not remote-ready llvm.org/pr24813
@expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
@expectedFailureNetBSD
def test_batch_mode_attach_exit(self):