[Lldb-commits] [lldb] [lldb][test] Add a new test for float types (PR #208451)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 10 01:03:55 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Raphael Isemann (Teemperor)
<details>
<summary>Changes</summary>
This is a new modern test for float types that replaces the test logic from `API/types` test that is about to be deleted.
See also #<!-- -->208402
assisted-by: claude
---
Full diff: https://github.com/llvm/llvm-project/pull/208451.diff
3 Files Affected:
- (added) lldb/test/API/lang/cpp/builtin_types/float/Makefile (+3)
- (added) lldb/test/API/lang/cpp/builtin_types/float/TestFloatTypes.py (+43)
- (added) lldb/test/API/lang/cpp/builtin_types/float/main.cpp (+19)
``````````diff
diff --git a/lldb/test/API/lang/cpp/builtin_types/float/Makefile b/lldb/test/API/lang/cpp/builtin_types/float/Makefile
new file mode 100644
index 0000000000000..99998b20bcb05
--- /dev/null
+++ b/lldb/test/API/lang/cpp/builtin_types/float/Makefile
@@ -0,0 +1,3 @@
+CXX_SOURCES := main.cpp
+
+include Makefile.rules
diff --git a/lldb/test/API/lang/cpp/builtin_types/float/TestFloatTypes.py b/lldb/test/API/lang/cpp/builtin_types/float/TestFloatTypes.py
new file mode 100644
index 0000000000000..50aea27128431
--- /dev/null
+++ b/lldb/test/API/lang/cpp/builtin_types/float/TestFloatTypes.py
@@ -0,0 +1,43 @@
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestCase(TestBase):
+ def test(self):
+ """Check the types and values of all float-typed variables.
+ NOTE: TestFloatDisplay.py tests displaying of the various float values
+ and we only test that we can recognize the different types and can
+ extract their values correctly.
+ """
+ self.build_and_run()
+
+ # Check every scalar floating point type both via 'frame variable' (var
+ # path) and via the expression evaluator.
+ self.expect_var_path("the_float", type="float", value="3.5")
+ self.expect_expr("the_float", result_type="float", result_value="3.5")
+
+ self.expect_var_path("the_double", type="double", value="6.25")
+ self.expect_expr("the_double", result_type="double", result_value="6.25")
+
+ self.expect_var_path("the_long_double", type="long double", value="10.75")
+ self.expect_expr(
+ "the_long_double", result_type="long double", result_value="10.75"
+ )
+
+ # Check edge-case values: zero, -1 and a negative value.
+ self.expect_var_path("float_zero", type="float", value="0")
+ self.expect_var_path("float_neg_one", type="float", value="-1")
+ self.expect_var_path("float_neg", type="float", value="-2.5")
+ self.expect_var_path("double_zero", type="double", value="0")
+ self.expect_var_path("double_neg_one", type="double", value="-1")
+ self.expect_var_path("double_neg", type="double", value="-2.5")
+ self.expect_var_path("long_double_zero", type="long double", value="0")
+ self.expect_var_path("long_double_neg_one", type="long double", value="-1")
+
+ self.expect_expr("float_neg", result_type="float", result_value="-2.5")
+ self.expect_expr("double_zero", result_type="double", result_value="0")
+ self.expect_expr(
+ "long_double_neg_one", result_type="long double", result_value="-1"
+ )
diff --git a/lldb/test/API/lang/cpp/builtin_types/float/main.cpp b/lldb/test/API/lang/cpp/builtin_types/float/main.cpp
new file mode 100644
index 0000000000000..ac909291a6292
--- /dev/null
+++ b/lldb/test/API/lang/cpp/builtin_types/float/main.cpp
@@ -0,0 +1,19 @@
+int main() {
+ // Scalar variables of every floating point type. The values are all exactly
+ // representable so their printed value is unambiguous.
+ float the_float = 3.5f;
+ double the_double = 6.25;
+ long double the_long_double = 10.75;
+
+ // Edge-case values: zero, -1 and a negative value.
+ float float_zero = 0.0f;
+ float float_neg_one = -1.0f;
+ float float_neg = -2.5f;
+ double double_zero = 0.0;
+ double double_neg_one = -1.0;
+ double double_neg = -2.5;
+ long double long_double_zero = 0.0;
+ long double long_double_neg_one = -1.0;
+
+ return 0; // break here
+}
``````````
</details>
https://github.com/llvm/llvm-project/pull/208451
More information about the lldb-commits
mailing list