diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
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): |