diff options
| author | Raphael Isemann <teemperor@gmail.com> | 2020-01-15 13:03:25 +0100 |
|---|---|---|
| committer | Raphael Isemann <teemperor@gmail.com> | 2020-01-15 13:04:04 +0100 |
| commit | 13f22f5d5958a46db1212a083a426e339204c783 (patch) | |
| tree | c999bda147630d970d9f8e1b5b79851893ae4143 /lldb/packages/Python/lldbsuite/test/functionalities | |
| parent | 06cfcdcca7de9c88a1e885eff0d0c4c07090ad48 (diff) | |
| download | bcm5719-llvm-13f22f5d5958a46db1212a083a426e339204c783.tar.gz bcm5719-llvm-13f22f5d5958a46db1212a083a426e339204c783.zip | |
[lldb] Add expect_expr function for testing expression evaluation in dotests.
Summary:
This patch adds a new function to lldbtest: `expect_expr`. This function is supposed to replace the current approach
of calling `expect`/`runCmd` with `expr`, `p` etc.
`expect_expr` allows evaluating expressions and matching their value/summary/type/error message without
having to do any string matching that might allow unintended passes (e.g., `self.expect("expr 3+4", substrs=["7"])`
can unexpectedly pass for results like `(Class7) $0 = 7`, `(int) $7 = 22`, `(int) $0 = 77` and so on).
This only uses the function in a few places to test and demonstrate it. I'll migrate the tests in follow up commits.
Reviewers: JDevlieghere, shafik, labath
Reviewed By: labath
Subscribers: christof, abidh, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70314
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities')
| -rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py index a5885107060..8943b259668 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py @@ -96,10 +96,11 @@ class LibcxxStringDataFormatterTestCase(TestBase): cappedSummary.find("someText") <= 0, "cappedSummary includes the full string") + self.expect_expr("s", result_type=ns+"::wstring", result_summary='L"hello world! מזל טוב!"') + self.expect( "frame variable", substrs=[ - '(%s::wstring) s = L"hello world! מזל טוב!"'%ns, '(%s::wstring) S = L"!!!!!"'%ns, '(const wchar_t *) mazeltov = 0x', 'L"מזל טוב"', |

