199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtTest that target var can resolve complex DWARF expressions.
399451b44SJordan Rupprecht"""
499451b44SJordan Rupprecht
599451b44SJordan Rupprechtimport lldb
699451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
799451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
899451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
999451b44SJordan Rupprecht
1099451b44SJordan Rupprecht
1199451b44SJordan Rupprechtclass targetCommandTestCase(TestBase):
1299451b44SJordan Rupprecht
1399451b44SJordan Rupprecht    @skipUnlessDarwin
1499451b44SJordan Rupprecht    @skipIfDarwinEmbedded           # needs x86_64
1599451b44SJordan Rupprecht    @skipIf(debug_info="gmodules")  # not relevant
1699451b44SJordan Rupprecht    @skipIf(compiler="clang", compiler_version=['<', '7.0'])
1799451b44SJordan Rupprecht    def testTargetVarExpr(self):
1899451b44SJordan Rupprecht        self.build()
1999451b44SJordan Rupprecht        lldbutil.run_to_name_breakpoint(self, 'main')
2099451b44SJordan Rupprecht        self.expect("target variable i", substrs=['i', '42'])
21*7177e63fSMed Ismail Bennani        self.expect("target variable var", patterns=['\(incomplete \*\) var = 0[xX](0)*dead'])
22*7177e63fSMed Ismail Bennani        self.expect("target variable var[0]", error=True, substrs=["can't find global variable 'var[0]'"])
23