[Lldb-commits] [lldb] [lldb][test] Set target OS for API tests in case of remote testing (PR #96654)

Vladislav Dzhidzhoev via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 8 05:10:56 PDT 2024


https://github.com/dzhidzhoev updated https://github.com/llvm/llvm-project/pull/96654

>From c107d5d43ed4f696bb2095b2a7d32ca59696f220 Mon Sep 17 00:00:00 2001
From: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: Wed, 19 Jun 2024 23:50:18 +0000
Subject: [PATCH] [lldb][test] Set target and host OS for API tests in case of
 remote testing

Makefile.rules uses HOST_OS and OS variables for determining host and target
OSes for API tests compilation.

This commit starts moving the platform detection logic from Makefile to Python lldb
test suite.

When lldb's target is set to remote-linux, Makefile.rules script should be
executed with the target OS variable set to Linux.

This is useful for the case of Windows-to-Linux cross-testing.
---
 .../Python/lldbsuite/test/lldbplatformutil.py | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
index 21f2095db90f8..0c7a6807974b4 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -56,6 +56,10 @@ def target_is_android():
     return configuration.lldb_platform_name == "remote-android"
 
 
+def target_is_remote_linux():
+    return configuration.lldb_platform_name == "remote-linux"
+
+
 def android_device_api():
     if not hasattr(android_device_api, "result"):
         assert configuration.lldb_platform_url is not None
@@ -92,11 +96,22 @@ def match_android_device(device_arch, valid_archs=None, valid_api_levels=None):
 
 
 def finalize_build_dictionary(dictionary):
+    if dictionary is None:
+        dictionary = {}
     if target_is_android():
-        if dictionary is None:
-            dictionary = {}
         dictionary["OS"] = "Android"
         dictionary["PIE"] = 1
+    elif platformIsDarwin():
+        dictionary["OS"] = "Darwin"
+    else:
+        # Provide uname-like platform name
+        platform_name_to_uname = { "linux": "Linux",
+                "netbsd": "NetBSD",
+                "freebsd": "FreeBSD",
+                "windows": "Windows_NT",
+                }
+        dictionary["OS"] = platform_name_to_uname[getPlatform()]
+        dictionary["HOST_OS"] = platform_name_to_uname[getHostPlatform()]
     return dictionary
 
 



More information about the lldb-commits mailing list