"""
Test that target var can resolve complex DWARF expressions.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class targetCommandTestCase(TestBase):
@skipIfDarwinEmbedded # needs x86_64
@skipIf(debug_info="gmodules") # not relevant
@skipIf(compiler="clang", compiler_version=["<", "7.0"])
def testTargetVarExpr(self):
self.build()
lldbutil.run_to_name_breakpoint(self, "main")
self.expect(
"help target variable",
substrs=[
"--no-args",
"--no-recognized-args",
"--no-locals",
"--show-globals",
],
matching=False,
)
self.expect("target variable i", substrs=["i", "42"])
self.expect(
"target variable var", patterns=["\(incomplete \*\) var = 0[xX](0)*dead"]
)
self.expect(
"target variable var[0]",
error=True,
substrs=["can't find global variable 'var[0]'"],
)