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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to