test_breakpoint_fileline.py revision dcecc0c8d22e894525e25a122ce25129b51338f2
1dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo'''Module that contains the test TestBreakpointFileLine.'''
2dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
3dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leofrom harness.test_base_remote import TestBaseRemote
4dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
5dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
6dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leoclass TestBreakpointFileLine(TestBaseRemote):
7dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo    '''Tests the setting of a breakpoint on a specific line of a RS file.'''
8dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
9dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo    def get_bundle_target(self):
10dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        '''Return string with name of bundle executable to run.
11dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
12dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        Returns:
13dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo            A string containing the name of the binary that this test can be run
14dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo            with.
15dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        '''
16dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        return 'JavaDebugWaitAttach'
17dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
18dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo    def test_case(self, _):
19dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        '''Run the lldb commands that are being tested.
20dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
21dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        Raises:
22dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo            TestFail: One of the lldb commands did not provide the expected
23dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                      output.
24dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        '''
25dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('language renderscript status',
26dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         ['Runtime Library discovered',
27dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                          'Runtime Driver discovered'])
28dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
29dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('breakpoint set --file simple.rs --line 12',
30dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         ['(pending)'])
31dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
32dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('process continue',
33dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         [])
34dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
35dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('bt',
36dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         ['librs.simple.so',
37dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                          'simple_kernel',
38dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                          'stop reason = breakpoint'])
39dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
40dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('breakpoint list',
41dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         ['simple.rs',
42dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                          'resolved = 1'])
43dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
44dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('process status',
45dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         ['stopped',
46dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                          'stop reason = breakpoint'])
47dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
48dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command(
49dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo            'language renderscript kernel breakpoint set simple_kernel',
50dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo            ['where = librs.simple.so`simple_kernel',
51dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo             'Breakpoint(s) created'])
52dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo
53dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo        self.try_command('breakpoint list',
54dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo                         [])
55