| import lldb |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test import lldbutil |
| |
| |
| class TestCase(TestBase): |
| def test(self): |
| self.build() |
| lldbutil.run_to_source_breakpoint(self, "break here", lldb.SBFileSpec("main.m")) |
| |
| log = self.getBuildArtifact("expr.log") |
| self.runCmd(f"log enable lldb expr -f {log}") |
| |
| self.expect( |
| "expr -O -- bad", |
| substrs=["`po` was unsuccessful, running `p` instead\n", "(Bad *) 0x"], |
| ) |
| self.filecheck_log(log, __file__, f"-check-prefix=CHECK-EXPR") |
| # CHECK-EXPR: Object description fallback due to error: could not evaluate print object function: expression interrupted |
| |
| self.expect( |
| "dwim-print -O -- bad", |
| substrs=["`po` was unsuccessful, running `p` instead\n", "_lookHere = NO"], |
| ) |
| self.filecheck_log(log, __file__, f"-check-prefix=CHECK-DWIM-PRINT") |
| # CHECK-DWIM-PRINT: Object description fallback due to error: could not evaluate print object function: expression interrupted |