[Lldb-commits] [PATCH] D67183: [Python] Implement truth testing for lldb.value

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 4 09:05:18 PDT 2019


JDevlieghere created this revision.
JDevlieghere added reviewers: friss, LLDB.
Herald added a project: LLDB.

Python 3 calls __bool__() instead of __len__() and lldb.value
only implemented the __len__ method. This adds the __bool__() implementation.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D67183

Files:
  lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
  lldb/scripts/Python/python-extensions.swig


Index: lldb/scripts/Python/python-extensions.swig
===================================================================
--- lldb/scripts/Python/python-extensions.swig
+++ lldb/scripts/Python/python-extensions.swig
@@ -980,6 +980,9 @@
     def __nonzero__(self):
         return self.sbvalue.__nonzero__()
 
+    def __bool__(self):
+        return self.sbvalue.__bool__()
+
     def __str__(self):
         return self.sbvalue.__str__()
 
Index: lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
+++ lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
@@ -160,6 +160,10 @@
                 val_i.GetType()).AddressOf(),
             VALID_VARIABLE)
 
+        # Check that lldb.value implements truth testing.
+        self.assertFalse(lldb.value(frame0.FindVariable('bogus')))
+        self.assertTrue(lldb.value(frame0.FindVariable('uinthex')))
+
         self.assertTrue(int(lldb.value(frame0.FindVariable('uinthex')))
                         == 3768803088, 'uinthex == 3768803088')
         self.assertTrue(int(lldb.value(frame0.FindVariable('sinthex')))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67183.218724.patch
Type: text/x-patch
Size: 1235 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190904/a493ae39/attachment-0001.bin>


More information about the lldb-commits mailing list