llvm-project/lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
2026-01-15 16:28:34 -08:00

32 lines
1.2 KiB
Python

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(
f"platform shell cat {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(
f"platform shell cat {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