[lldb][tests] Automatically call compute_mydir (NFC)Eliminate boilerplate of having each test manually assign to `mydir` by calling`compute_mydir` in lldbtest.py.Differential Revision: https://r
[lldb][tests] Automatically call compute_mydir (NFC)Eliminate boilerplate of having each test manually assign to `mydir` by calling`compute_mydir` in lldbtest.py.Differential Revision: https://reviews.llvm.org/D128077
show more ...
[lldb/Test] Introduce "assertSuccess"Summary:A lot of our tests do 'self.assertTrue(error.Success()'. The problemwith that is that when this fails, it produces a completely uselesserror message
[lldb/Test] Introduce "assertSuccess"Summary:A lot of our tests do 'self.assertTrue(error.Success()'. The problemwith that is that when this fails, it produces a completely uselesserror message (False is not True) and the most important piece ofinformation -- the actual error message -- is completely hidden.Sometimes we mitigate that by including the error message in the "msg"argument, but this has two additional problems:- as the msg argument is evaluated unconditionally, one needs to be careful to not trigger an exception when the operation was actually successful.- it requires more typing, which means we often don't do itassertSuccess solves these problems by taking the entire SBError objectas an argument. If the operation was unsuccessful, it can format areasonable error message itself. The function still accepts a "msg"argument, which can include any additional context, but this context nowdoes not need to include the error message.To demonstrate usage, I replace a number of existing assertTrueassertions with the new function. As this process is not easilyautomatable, I have just manually updated a representative sample. Insome cases, I did not update the code to use assertSuccess, but I wentfor even higher-level assertion apis (runCmd, expect_expr), as these areeven shorter, and can produce even better failure messages.Reviewers: teemperor, JDevlieghereSubscribers: arphaman, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D82759
Internal expressions shouldn't increment the result variable numbering.There an option: EvaluateExpressionOptions::SetResultIsInternal to indicatewhether the result number should be returned to th
Internal expressions shouldn't increment the result variable numbering.There an option: EvaluateExpressionOptions::SetResultIsInternal to indicatewhether the result number should be returned to the pool or not. Itgot broken when the PersistentExpressionState was refactored.This fixes the issue and provides a test of the behavior.Differential Revision: https://reviews.llvm.org/D76532