[lldb][test] Add SBExpressionOptions parameter to expect_expr (#177920)
Allows API tests to pass `SBExpressionOptions` when testing a successful expression evaluation with `expect_expr`. Currently one would have to use `SBFrame::EvaluateExpression` or pass the option as an argument to the raw command (via `expect()` or `HandleCommand()`). Chose not to do the `SetIgnoreBreakpoints`/`SetAutoApplyFixIts` with the assumption that most expression evaluation tests don't actually need to care about these. If the options are passed explicitly, lets use them as-is. Otherwise default to the old options. First usage of this new parameter would be in https://github.com/llvm/llvm-project/pull/177926
This commit is contained in:
parent
00e2649f03
commit
c51a758d7f
@ -2575,6 +2575,7 @@ FileCheck output:
|
||||
result_value=None,
|
||||
result_type=None,
|
||||
result_children=None,
|
||||
options=None,
|
||||
):
|
||||
"""
|
||||
Evaluates the given expression and verifies the result.
|
||||
@ -2584,6 +2585,7 @@ FileCheck output:
|
||||
:param result_type: The type that the expression result should have. None if the type should not be checked.
|
||||
:param result_children: The expected children of the expression result
|
||||
as a list of ValueChecks. None if the children shouldn't be checked.
|
||||
:param options: Expression evaluation options. None if a default set of options should be used.
|
||||
"""
|
||||
self.assertTrue(
|
||||
expr.strip() == expr,
|
||||
@ -2591,13 +2593,15 @@ FileCheck output:
|
||||
)
|
||||
|
||||
frame = self.frame()
|
||||
options = lldb.SBExpressionOptions()
|
||||
|
||||
# Disable fix-its that tests don't pass by accident.
|
||||
options.SetAutoApplyFixIts(False)
|
||||
if not options:
|
||||
options = lldb.SBExpressionOptions()
|
||||
|
||||
# Set the usual default options for normal expressions.
|
||||
options.SetIgnoreBreakpoints(True)
|
||||
# Disable fix-its that tests don't pass by accident.
|
||||
options.SetAutoApplyFixIts(False)
|
||||
|
||||
# Set the usual default options for normal expressions.
|
||||
options.SetIgnoreBreakpoints(True)
|
||||
|
||||
if self.frame().IsValid():
|
||||
options.SetLanguage(frame.GuessLanguage())
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user