xref: /llvm-project/lldb/test/API/commands/expression/persistent_ptr_update/TestPersistentPtrUpdate.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
1"""
2Test that we can have persistent pointer variables
3"""
4
5
6import lldb
7import lldbsuite.test.lldbutil as lldbutil
8from lldbsuite.test.lldbtest import *
9
10
11class PersistentPtrUpdateTestCase(TestBase):
12    def test(self):
13        """Test that we can have persistent pointer variables"""
14        self.build()
15
16        def cleanup():
17            pass
18
19        # Execute the cleanup function during test case tear down.
20        self.addTearDownHook(cleanup)
21
22        self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
23
24        self.runCmd("break set -p here")
25
26        self.runCmd("run", RUN_SUCCEEDED)
27
28        self.runCmd("expr void* $foo = 0")
29
30        self.runCmd("continue")
31
32        self.expect("expr $foo", substrs=["$foo", "0x0"])
33