tree a789e098863e3479c1bac4d02620e4b1d242dca1
parent 16a243d3230876253e15c16147e523dcb74229e4
author Luke Drummond <luke.drummond@codeplay.com> 1478289282 +0000
committer Luke Drummond <luke.drummond@codeplay.com> 1480538389 +0000

Add tests for the debugging of Reduction kernels

These testcases check LLDB's handling of reductions: tracking script
modules that contain reduction kernels; setting breakpoints on reduction
kernels; testing the tracking and display of kernel metadata across
generated and user-provided funtions; testing breakpoints predicated on
`--function-role`; setting breakpoints on functions predicated on
`.expand` coordinates.

I've also factored out the coordinate handling for allocations tests
to make the coordinate-conditional breakpoint assertions reusable now
we're able to debug multiple types of RenderScript kernel.

    Tests coverage:
      - conditional compilation of combiner (single and multithreaded
        tests)
      - testcase with autogenerated combiner and user-supplied combiner
        function
      - setting breakpoints on named reductions conditional on the
        function type and possible permutations of the set of available
        function types (testing the lldb `--function-role` breakpoint
        argument.
      - Test that all available reductions are resolved and check that
        foreach kernels are listed separately for a script having both
        forEach and Reduction kernels.
      - Test deletion and creation of Reduction breakpoints as a group.

Test: Run the RenderScript lldb testsuite
(frameworks/rs/tests/lldb/run_tests.py)

Change-Id: Ib6c61a04d0cbce121cebc8bde83b6afb43d5aa61
Signed-off-by: Luke Drummond <luke.drummond@codeplay.com>
