xref: /llvm-project/lldb/test/API/python_api/format/TestFormat.py (revision d9ec4b24a84addb8bd77b5d9dd990181351cf84c)
1"""
2Test the lldb Python SBFormat API.
3"""
4
5import lldb
6from lldbsuite.test.decorators import *
7from lldbsuite.test.lldbtest import *
8
9
10class FormatAPITestCase(TestBase):
11    def test_format(self):
12        format = lldb.SBFormat()
13        self.assertFalse(format)
14
15        error = lldb.SBError()
16        format = lldb.SBFormat("${bad}", error)
17        self.assertIn("invalid top level item 'bad'", error.GetCString())
18        self.assertFalse(format)  # We expect an invalid object back if we have an error
19        self.assertTrue(error.Fail())
20
21        format = lldb.SBFormat("${frame.index}", error)
22        self.assertIs(error.GetCString(), None)
23        self.assertTrue(format)
24        self.assertTrue(error.Success())
25