summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2019-09-04 18:59:10 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2019-09-04 18:59:10 +0000
commit24223eb24c74a116e1a3eb704d28e61454719a74 (patch)
treed69085e3630ccec381cb2942cc1f2fe75e9fcd99 /lldb
parent5559406ae5d21fab0bcd6a07347f4f928d3c7ce8 (diff)
downloadbcm5719-llvm-24223eb24c74a116e1a3eb704d28e61454719a74.tar.gz
bcm5719-llvm-24223eb24c74a116e1a3eb704d28e61454719a74.zip
[Python] Implement truth testing for lldb.value
Python 3 calls __bool__() instead of __len__() and lldb.value only implemented the __len__ method. This adds the __bool__() implementation. Differential revision: https://reviews.llvm.org/D67183 llvm-svn: 370953
Diffstat (limited to 'lldb')
-rw-r--r--lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py4
-rw-r--r--lldb/scripts/Python/python-extensions.swig3
2 files changed, 7 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py b/lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
index 9fc025a58b9..d67905a50d0 100644
--- a/lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
+++ b/lldb/packages/Python/lldbsuite/test/python_api/value/TestValueAPI.py
@@ -160,6 +160,10 @@ class ValueAPITestCase(TestBase):
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')))
diff --git a/lldb/scripts/Python/python-extensions.swig b/lldb/scripts/Python/python-extensions.swig
index 25fec92fbdf..13bb5821cda 100644
--- a/lldb/scripts/Python/python-extensions.swig
+++ b/lldb/scripts/Python/python-extensions.swig
@@ -980,6 +980,9 @@ class value(object):
def __nonzero__(self):
return self.sbvalue.__nonzero__()
+ def __bool__(self):
+ return self.sbvalue.__bool__()
+
def __str__(self):
return self.sbvalue.__str__()
OpenPOWER on IntegriCloud