aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/configuration.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest.py2
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest_args.py8
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py4
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py2
5 files changed, 17 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/configuration.py b/lldb/packages/Python/lldbsuite/test/configuration.py
index bcc1793..18c1566 100644
--- a/lldb/packages/Python/lldbsuite/test/configuration.py
+++ b/lldb/packages/Python/lldbsuite/test/configuration.py
@@ -103,6 +103,7 @@ failed = False
lldb_platform_name = None
lldb_platform_url = None
lldb_platform_working_dir = None
+lldb_platform_available_ports = None
# Apple SDK
apple_sdk = None
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index 681ea16..7cc8f29 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -419,6 +419,8 @@ def parseOptionsAndInitTestdirs():
configuration.lldb_platform_url = args.lldb_platform_url
if args.lldb_platform_working_dir:
configuration.lldb_platform_working_dir = args.lldb_platform_working_dir
+ if args.lldb_platform_available_ports:
+ configuration.lldb_platform_available_ports = args.lldb_platform_available_ports
if platform_system == "Darwin" and args.apple_sdk:
configuration.apple_sdk = args.apple_sdk
if args.test_build_dir:
diff --git a/lldb/packages/Python/lldbsuite/test/dotest_args.py b/lldb/packages/Python/lldbsuite/test/dotest_args.py
index a80428e..98210b7 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest_args.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest_args.py
@@ -292,6 +292,14 @@ def create_parser():
metavar="platform-working-dir",
help="The directory to use on the remote platform.",
)
+ group.add_argument(
+ "--platform-available-ports",
+ dest="lldb_platform_available_ports",
+ nargs="*",
+ type=int,
+ metavar="platform-available-ports",
+ help="Ports available for connection to a lldb server on the remote platform",
+ )
# Test-suite behaviour
group = parser.add_argument_group("Runtime behaviour options")
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index a055314..db15a1d 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -749,6 +749,10 @@ class Base(unittest.TestCase):
"""Return absolute path to a file in the test's source directory."""
return os.path.join(self.getSourceDir(), name)
+ def getPlatformAvailablePorts(self):
+ """Return ports available for connection to a lldb server on the remote platform."""
+ return configuration.lldb_platform_available_ports
+
@classmethod
def setUpCommands(cls):
commands = [
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
index 3d3ecb9..19c7669 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
@@ -185,6 +185,8 @@ class GdbRemoteTestCaseBase(Base, metaclass=GdbRemoteTestCaseFactory):
]
def get_next_port(self):
+ if available_ports := self.getPlatformAvailablePorts():
+ return random.choice(available_ports)
return 12000 + random.randint(0, 7999)
def reset_test_sequence(self):