[Lldb-commits] [lldb] [lldb][test] check if CoreDumping is supported at runtime (PR #161385)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 30 07:43:16 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Ebuka Ezike (da-viper)
<details>
<summary>Changes</summary>
#<!-- -->160333 reimplementation but at runtime instead because of broken CI.
---
Full diff: https://github.com/llvm/llvm-project/pull/161385.diff
1 Files Affected:
- (modified) lldb/unittests/Host/posix/HostTest.cpp (+34-7)
``````````diff
diff --git a/lldb/unittests/Host/posix/HostTest.cpp b/lldb/unittests/Host/posix/HostTest.cpp
index dc75b288ba76a..d4f6d10ec5d3d 100644
--- a/lldb/unittests/Host/posix/HostTest.cpp
+++ b/lldb/unittests/Host/posix/HostTest.cpp
@@ -17,6 +17,8 @@
#ifdef __linux__
#include <linux/version.h>
+#include <sstream>
+#include <sys/utsname.h>
#endif // __linux__
using namespace lldb_private;
@@ -98,6 +100,28 @@ TEST_F(HostTest, GetProcessInfo) {
// Only linux currently sets these.
#ifdef __linux__
+
+int KernelVersion(int major, int minor, int patch) {
+ return KERNEL_VERSION(major, minor, patch);
+}
+
+std::optional<int> GetLinuxVersion() {
+ struct utsname buffer;
+
+ if (uname(&buffer) != 0)
+ return std::nullopt;
+
+ std::stringstream release(buffer.release);
+ int major = 0;
+ int minor = 0;
+ int patch = 0;
+ release >> major;
+ release >> minor;
+ release >> patch;
+
+ return KernelVersion(major, minor, patch);
+}
+
TEST_F(HostTest, GetProcessInfoSetsPriority) {
ProcessInstanceInfo Info;
struct rlimit rlim;
@@ -120,12 +144,15 @@ TEST_F(HostTest, GetProcessInfoSetsPriority) {
ASSERT_TRUE(Info.IsZombie().has_value());
ASSERT_FALSE(Info.IsZombie().value());
- // CoreDumping was added in kernel version 4.15.
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
- ASSERT_TRUE(Info.IsCoreDumping().has_value());
- ASSERT_FALSE(Info.IsCoreDumping().value());
-#else
- ASSERT_FALSE(Info.IsCoreDumping().has_value());
-#endif
+ std::optional<int> opt_linux_version = GetLinuxVersion();
+ if (opt_linux_version.has_value()) {
+
+ if (opt_linux_version.value() >= KernelVersion(4, 15, 0)) {
+ ASSERT_TRUE(Info.IsCoreDumping().has_value());
+ ASSERT_FALSE(Info.IsCoreDumping().value());
+ } else {
+ ASSERT_FALSE(Info.IsCoreDumping().has_value());
+ }
+ }
}
#endif
``````````
</details>
https://github.com/llvm/llvm-project/pull/161385
More information about the lldb-commits
mailing list