199451b44SJordan Rupprecht""" 299451b44SJordan RupprechtThe evaluating printf(...) after break stop and then up a stack frame. 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 Radar9531204TestCase(TestBase): 1399451b44SJordan Rupprecht # rdar://problem/9531204 1499451b44SJordan Rupprecht def test_expr_commands(self): 1599451b44SJordan Rupprecht """The evaluating printf(...) after break stop and then up a stack frame.""" 1699451b44SJordan Rupprecht self.build() 1799451b44SJordan Rupprecht 1899451b44SJordan Rupprecht self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) 1999451b44SJordan Rupprecht 2099451b44SJordan Rupprecht lldbutil.run_break_set_by_symbol( 21*2238dcc3SJonas Devlieghere self, "foo", sym_exact=True, num_expected_locations=1 22*2238dcc3SJonas Devlieghere ) 2399451b44SJordan Rupprecht 2499451b44SJordan Rupprecht self.runCmd("run", RUN_SUCCEEDED) 2599451b44SJordan Rupprecht 2699451b44SJordan Rupprecht self.runCmd("frame variable") 2799451b44SJordan Rupprecht 2899451b44SJordan Rupprecht # This works fine. 2999451b44SJordan Rupprecht self.runCmd('expression (int)printf("value is: %d.\\n", value);') 3099451b44SJordan Rupprecht 3199451b44SJordan Rupprecht # rdar://problem/9531204 3299451b44SJordan Rupprecht # "Error dematerializing struct" error when evaluating expressions "up" on the stack 33*2238dcc3SJonas Devlieghere self.runCmd("up") # frame select -r 1 3499451b44SJordan Rupprecht 3599451b44SJordan Rupprecht self.runCmd("frame variable") 3699451b44SJordan Rupprecht 3799451b44SJordan Rupprecht # This does not currently. 3899451b44SJordan Rupprecht self.runCmd('expression (int)printf("argc is: %d.\\n", argc)') 39