summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/commands
diff options
context:
space:
mode:
authorLawrence D'Anna <lawrence_danna@apple.com>2019-10-19 07:05:39 +0000
committerLawrence D'Anna <lawrence_danna@apple.com>2019-10-19 07:05:39 +0000
commitbdcad0aca0a05145364ee153a8f54af4aea2c445 (patch)
treec5985bd6416163194f833c3a48a45458429d242a /lldb/packages/Python/lldbsuite/test/commands
parent2386537c2469a97501a305c6b3138231b907a67f (diff)
downloadbcm5719-llvm-bdcad0aca0a05145364ee153a8f54af4aea2c445.tar.gz
bcm5719-llvm-bdcad0aca0a05145364ee153a8f54af4aea2c445.zip
convert LLDBSwigPythonCallTypeScript to ArgInfo::max_positional_args
Summary: This patch converts another user of ArgInfo::count over to use ArgInfo::max_positional_args instead. I also add a test to make sure both documented signatures for python type formatters work. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69153 llvm-svn: 375334
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/commands')
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/formatters/TestFormatters.py15
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/formatters/formatters.py7
2 files changed, 22 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/TestFormatters.py b/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/TestFormatters.py
index b13d6555f33..011dabce6e9 100644
--- a/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/TestFormatters.py
+++ b/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/TestFormatters.py
@@ -74,6 +74,21 @@ class ExprFormattersTestCase(TestBase):
# EXPR-TYPES-NEW-FOO-NEXT: }
# EXPR-TYPES-NEW-FOO-NEXT: }
+
+ self.runCmd("type summary add -F formatters.foo_SummaryProvider3 foo")
+ self.filecheck("expression foo1", __file__, '-check-prefix=EXPR-FOO1opts')
+ # EXPR-FOO1opts: (foo) $
+ # EXPR-FOO1opts-SAME: a = 12
+ # EXPR-FOO1opts-SAME: a_ptr = {{[0-9]+}} -> 13
+ # EXPR-FOO1opts-SAME: i = 24
+ # EXPR-FOO1opts-SAME: i_ptr = {{[0-9]+}} -> 25
+ # EXPR-FOO1opts-SAME: b_ref = {{[0-9]+}}
+ # EXPR-FOO1opts-SAME: h = 27
+ # EXPR-FOO1opts-SAME: k = 29
+ # EXPR-FOO1opts-SAME: WITH_OPTS
+
+ self.runCmd("type summary delete foo")
+
self.runCmd("type summary add -F formatters.foo_SummaryProvider foo")
self.expect("expression new int(12)",
diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/formatters.py b/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/formatters.py
index dae84988af9..ac2888bd203 100644
--- a/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/formatters.py
+++ b/lldb/packages/Python/lldbsuite/test/commands/expression/formatters/formatters.py
@@ -1,3 +1,5 @@
+import lldb
+
def foo_SummaryProvider(valobj, dict):
a = valobj.GetChildMemberWithName('a')
a_ptr = valobj.GetChildMemberWithName('a_ptr')
@@ -15,3 +17,8 @@ def foo_SummaryProvider(valobj, dict):
', i_ptr = ' + str(i_ptr.GetValueAsUnsigned(0)) + ' -> ' + str(i_ptr.Dereference().GetValueAsUnsigned(0)) + \
', b_ref = ' + str(b_ref.GetValueAsUnsigned(0)) + \
', h = ' + str(h.GetValueAsUnsigned(0)) + ' , k = ' + str(k.GetValueAsUnsigned(0))
+
+def foo_SummaryProvider3(valobj, dict, options):
+ if not isinstance(options, lldb.SBTypeSummaryOptions):
+ raise Exception()
+ return foo_SummaryProvider(valobj, dict) + ", WITH_OPTS" \ No newline at end of file
OpenPOWER on IntegriCloud