aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/dotest.py
diff options
context:
space:
mode:
authorJordan Rupprecht <rupprecht@google.com>2024-03-13 15:16:15 -0500
committerGitHub <noreply@github.com>2024-03-13 15:16:15 -0500
commit8bed754c2f965c8cbbb050be6f650b78f7fd78a6 (patch)
tree5b084eb2cd9f754097341191e84599a4fad8b946 /lldb/packages/Python/lldbsuite/test/dotest.py
parentcd8843f87af2f04a85dda12b37738596cbf4cd5e (diff)
downloadllvm-8bed754c2f965c8cbbb050be6f650b78f7fd78a6.zip
llvm-8bed754c2f965c8cbbb050be6f650b78f7fd78a6.tar.gz
llvm-8bed754c2f965c8cbbb050be6f650b78f7fd78a6.tar.bz2
[lldb][test] Add `pexpect` category for tests that `import pexpect` (#84860)
Instead of directly annotating pexpect-based tests with `@skipIfWindows`, we can tag them with a new `pexpect` category. We still automatically skip windows behavior by adding `pexpect` to the skip category list if the platform is windows, but also allow non-Windows users to skip them by configuring cmake with `-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` As a prerequisite, remove the restriction that `@add_test_categories` can only apply to test cases, and we make the test runner look for categories on both the class and the test method.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/dotest.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index 291d7ba..8c29145 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -914,6 +914,18 @@ def checkForkVForkSupport():
configuration.skip_categories.append("fork")
+def checkPexpectSupport():
+ from lldbsuite.test import lldbplatformutil
+
+ platform = lldbplatformutil.getPlatform()
+
+ # llvm.org/pr22274: need a pexpect replacement for windows
+ if platform in ["windows"]:
+ if configuration.verbose:
+ print("pexpect tests will be skipped because of unsupported platform")
+ configuration.skip_categories.append("pexpect")
+
+
def run_suite():
# On MacOS X, check to make sure that domain for com.apple.DebugSymbols defaults
# does not exist before proceeding to running the test suite.
@@ -1013,6 +1025,7 @@ def run_suite():
checkDebugServerSupport()
checkObjcSupport()
checkForkVForkSupport()
+ checkPexpectSupport()
skipped_categories_list = ", ".join(configuration.skip_categories)
print(