199451b44SJordan Rupprecht""" 299451b44SJordan RupprechtDescribe the purpose of the test class here. 399451b44SJordan Rupprecht""" 499451b44SJordan Rupprecht 599451b44SJordan Rupprecht 699451b44SJordan Rupprecht 799451b44SJordan Rupprechtimport lldb 899451b44SJordan Rupprechtimport lldbsuite.test.lldbutil as lldbutil 999451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 1099451b44SJordan Rupprecht 1199451b44SJordan Rupprecht 1299451b44SJordan Rupprechtclass RenameThisSampleTestTestCase(TestBase): 1399451b44SJordan Rupprecht 14*c6ad6901SVenkata Ramanaiah Nalamothu # If your test case doesn't stress debug info, then 1599451b44SJordan Rupprecht # set this to true. That way it won't be run once for 1699451b44SJordan Rupprecht # each debug info format. 1799451b44SJordan Rupprecht NO_DEBUG_INFO_TESTCASE = True 1899451b44SJordan Rupprecht 1999451b44SJordan Rupprecht def test_sample_rename_this(self): 2099451b44SJordan Rupprecht """There can be many tests in a test case - describe this test here.""" 2199451b44SJordan Rupprecht self.build() 2299451b44SJordan Rupprecht self.main_source_file = lldb.SBFileSpec("main.c") 2399451b44SJordan Rupprecht self.sample_test() 2499451b44SJordan Rupprecht 2599451b44SJordan Rupprecht def setUp(self): 2699451b44SJordan Rupprecht # Call super's setUp(). 2799451b44SJordan Rupprecht TestBase.setUp(self) 2899451b44SJordan Rupprecht # Set up your test case here. If your test doesn't need any set up then 2999451b44SJordan Rupprecht # remove this method from your TestCase class. 3099451b44SJordan Rupprecht 3199451b44SJordan Rupprecht def sample_test(self): 3299451b44SJordan Rupprecht """You might use the test implementation in several ways, say so here.""" 3399451b44SJordan Rupprecht 3499451b44SJordan Rupprecht # This function starts a process, "a.out" by default, sets a source 3599451b44SJordan Rupprecht # breakpoint, runs to it, and returns the thread, process & target. 3699451b44SJordan Rupprecht # It optionally takes an SBLaunchOption argument if you want to pass 3799451b44SJordan Rupprecht # arguments or environment variables. 3899451b44SJordan Rupprecht (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 3999451b44SJordan Rupprecht "Set a breakpoint here", self.main_source_file) 4099451b44SJordan Rupprecht 4199451b44SJordan Rupprecht frame = thread.GetFrameAtIndex(0) 4299451b44SJordan Rupprecht test_var = frame.FindVariable("test_var") 43779bbbf2SDave Lee self.assertSuccess(test_var.GetError(), "Failed to fetch test_var") 4499451b44SJordan Rupprecht test_value = test_var.GetValueAsUnsigned() 4599451b44SJordan Rupprecht self.assertEqual(test_value, 10, "Got the right value for test_var") 4699451b44SJordan Rupprecht 4754c26872SRaphael Isemann def sample_test_no_launch(self): 4854c26872SRaphael Isemann """ Same as above but doesn't launch a process.""" 4954c26872SRaphael Isemann 5054c26872SRaphael Isemann target = self.createTestTarget() 515d7c1d8fSRaphael Isemann self.expect_expr("global_test_var", result_value="10") 52