xref: /llvm-project/lldb/test/API/commands/frame/diagnose/array/TestArray.py (revision 0236cb689550ed2dac406443c652efb723cb2602)
199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtTest the output of `frame diagnose` for an array access
399451b44SJordan Rupprecht"""
499451b44SJordan Rupprecht
599451b44SJordan Rupprecht
699451b44SJordan Rupprechtimport lldb
799451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
899451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
999451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
1099451b44SJordan Rupprecht
1199451b44SJordan Rupprecht
1299451b44SJordan Rupprechtclass TestArray(TestBase):
13*0236cb68SPavel Labath    @expectedFailureAll(oslist=["windows"])
142238dcc3SJonas Devlieghere    @skipIf(
152238dcc3SJonas Devlieghere        archs=no_match(["x86_64"])
162238dcc3SJonas Devlieghere    )  # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64
1799451b44SJordan Rupprecht    def test_array(self):
1899451b44SJordan Rupprecht        self.build()
1999451b44SJordan Rupprecht        exe = self.getBuildArtifact("a.out")
2099451b44SJordan Rupprecht        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
2199451b44SJordan Rupprecht        self.runCmd("run", RUN_SUCCEEDED)
222238dcc3SJonas Devlieghere        self.expect("thread list", "Thread should be stopped", substrs=["stopped"])
232238dcc3SJonas Devlieghere        self.expect("frame diagnose", "Crash diagnosis was accurate", substrs=["a[10]"])
24