1*99451b44SJordan Rupprecht""" 2*99451b44SJordan RupprechtTest the output of `frame diagnose` for an array access 3*99451b44SJordan Rupprecht""" 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprecht 6*99451b44SJordan Rupprechtimport lldb 7*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 9*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprecht 12*99451b44SJordan Rupprechtclass TestArray(TestBase): 13*99451b44SJordan Rupprecht mydir = TestBase.compute_mydir(__file__) 14*99451b44SJordan Rupprecht 15*99451b44SJordan Rupprecht @skipUnlessDarwin 16*99451b44SJordan Rupprecht @skipIfDarwinEmbedded # <rdar://problem/33842388> frame diagnose doesn't work for armv7 or arm64 17*99451b44SJordan Rupprecht def test_array(self): 18*99451b44SJordan Rupprecht self.build() 19*99451b44SJordan Rupprecht exe = self.getBuildArtifact("a.out") 20*99451b44SJordan Rupprecht self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) 21*99451b44SJordan Rupprecht self.runCmd("run", RUN_SUCCEEDED) 22*99451b44SJordan Rupprecht self.expect("thread list", "Thread should be stopped", 23*99451b44SJordan Rupprecht substrs=['stopped']) 24*99451b44SJordan Rupprecht self.expect( 25*99451b44SJordan Rupprecht "frame diagnose", 26*99451b44SJordan Rupprecht "Crash diagnosis was accurate", 27*99451b44SJordan Rupprecht substrs=["a[10]"]) 28