199451b44SJordan Rupprecht""" 299451b44SJordan RupprechtTests that auto types work 399451b44SJordan Rupprecht""" 499451b44SJordan Rupprechtimport lldb 599451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 699451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 799451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 899451b44SJordan Rupprecht 999451b44SJordan Rupprecht 1099451b44SJordan Rupprechtclass CPPAutoTestCase(TestBase): 1199451b44SJordan Rupprecht 1299451b44SJordan Rupprecht mydir = TestBase.compute_mydir(__file__) 1399451b44SJordan Rupprecht 1499451b44SJordan Rupprecht @expectedFailureAll( 1599451b44SJordan Rupprecht compiler="gcc", 1699451b44SJordan Rupprecht bugnumber="GCC generates incomplete debug info") 1799451b44SJordan Rupprecht @expectedFailureNetBSD 1899451b44SJordan Rupprecht def test_with_run_command(self): 1999451b44SJordan Rupprecht """Test that auto types work in the expression parser""" 2099451b44SJordan Rupprecht self.build() 21*53eece04SRaphael Isemann lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.cpp")) 2299451b44SJordan Rupprecht 2399451b44SJordan Rupprecht self.expect_expr('auto f = 123456; f', result_type='int', result_value='123456') 2499451b44SJordan Rupprecht self.expect( 2599451b44SJordan Rupprecht 'expr struct Test { int x; int y; Test() : x(123), y(456) {} }; auto t = Test(); t', 2699451b44SJordan Rupprecht substrs=[ 2799451b44SJordan Rupprecht 'Test', 2899451b44SJordan Rupprecht '123', 2999451b44SJordan Rupprecht '456']) 3010df88deSRaphael Isemann self.expect_expr("auto s = foo; s", result_type="long", result_value="1234") 31