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