15bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# Copyright (C) 2016 The Android Open Source Project 25bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# 35bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# Licensed under the Apache License, Version 2.0 (the "License"); 45bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# you may not use this file except in compliance with the License. 55bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# You may obtain a copy of the License at 65bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# 75bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# http://www.apache.org/licenses/LICENSE-2.0 85bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# 95bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# Unless required by applicable law or agreed to in writing, software 105bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# distributed under the License is distributed on an "AS IS" BASIS, 115bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 125bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# See the License for the specific language governing permissions and 135bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond# limitations under the License. 145bbcc3861c44435f89481f80946ef5c9c49968f2Luke Drummond 15a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond'''Module that contains the test TestReadLocal.''' 16dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 17a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummondfrom __future__ import absolute_import 18dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 19a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummondfrom harness.test_base_remote import TestBaseRemote 20a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummondfrom harness.decorators import ( 21a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond wimpy, 22a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond ordered_test, 23a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond skip_conditional, 24a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond cpp_only_test 25a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond) 26dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 27dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 28a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummondclass TestReadLocal(TestBaseRemote): 29a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond '''Tests inspecting local variables of all types.''' 30dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 31a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond bundle_target = { 32a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 'java': 'KernelVariables', 33a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 'jni': 'JNIKernelVariables', 34a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 'cpp': 'CppKernelVariables' 35a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond } 36dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 37dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo def _try_inspecting_local(self, local_name, expected_output, 38dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_regex=None): 39dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '''Inspect a local and check for the output. 40dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 41dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo Run the "expr" and "frame variable" commands on a given local and 42dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo with a given output. (The commands should be equivalent.) 43dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 44dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo Args: 45dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo local_name: String which is the name of the global to inspect. 46dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_output: List of strings that should be found in the output. 47dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_regex: List of regular expressions that should match lldb's 48dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo output. 49dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 50dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo Raises: 51dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo TestFail: One of the lldb commands did not provide the expected 52dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo output. 53dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ''' 54dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('expr ' + local_name, 55dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_output, 56dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_regex) 57dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 58dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('frame variable ' + local_name, 59dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_output, 60dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo expected_regex) 61dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 62a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 63a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @ordered_test(0) 64a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_setup(self): 65dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('language renderscript status', 66dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['Runtime Library discovered', 67dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 'Runtime Driver discovered']) 68dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 69a8b6960a8815bb1fff74c1d9dcf4c572a7a831d9Luke Drummond self.try_command('breakpoint set --file simple.rs --line 145', []) 70dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 71dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('process continue', 72dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['resuming', 73dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 'stopped', 74dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 'stop reason = breakpoint']) 75dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 76a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 77a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_list_rs_kernel_frame_variables(self): 78a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond # pylint: disable=line-too-long 79a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 80dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('frame variable', 81dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ["(uchar) uchar_local = 'b'", 82dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(short) short_local = -321', 83dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ushort) ushort_local = 432', 84dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(int) int_local = 1234', 85dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uint) uint_local = 2345', 86dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(float) float_local = 4.5', 87dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ulong) ulong_local = 8888', 88dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(double) double_local = -456.5', 89dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(char2) char2_local = (-11, -22)', 90dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uchar2) uchar2_local = (0x21, 0x2c)', 91dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(short2) short2_local = (-555, 666)', 92dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ushort2) ushort2_local = (777, 888)', 93dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(int2) int2_local = (999, -1111)', 94dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uint2) uint2_local = (2222, 3333)', 95dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(float2) float2_local = (4.5, -5)', 96dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(long2) long2_local = (-4444, 5555)', 97dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ulong2) ulong2_local = (6666, 7777)', 98dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(double2) double2_local = (88.5, -99)', 99dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(char3) char3_local = (11, -22, -33,', 100dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uchar3) uchar3_local = (0x21, 0x2c, 0x37,', 101dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(short3) short3_local = (-555, 666, 777,', 102dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ushort3) ushort3_local = (777, 888, 999,', 103dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(int3) int3_local = (999, -1111, 2222,', 104dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uint3) uint3_local = (2222, 3333, 4444,', 105dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(float3) float3_local = (4.5, -5, -6.5,', 106dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(long3) long3_local = (-4444, 5555, 6666,', 107dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ulong3) ulong3_local = (6666, 7777, 8888,', 108dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(double3) double3_local = (88.5, -99, 111.5,', 109dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(char4) char4_local = (55, 11, -22, -33)', 110dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uchar4) uchar4_local = (0x16, 0x21, 0x2c, 0x37)', 111dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(short4) short4_local = (-444, -555, 666, 777)', 112dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ushort4) ushort4_local = (666, 777, 888, 999)', 113dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(int4) int4_local = (888, 999, -1111, 2222)', 114dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(uint4) uint4_local = (1111, 2222, 3333, 4444)', 115dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(float4) float4_local = (3, 4.5, -5, -6.5)', 116dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(long4) long4_local = (-3333, -4444, 5555, 6666)', 117dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(ulong4) ulong4_local = (5555, 6666, 7777, 8888)', 118dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(double4) double4_local = (-77, 88.5, -99, 111.5)', 119dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(rs_matrix2x2) matrix2x2_local = (m = (1, 2.5, 3, 4.5))', 120dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(rs_matrix3x3) matrix3x3_local = {\n' 121dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' m = ([0] = 5, [1] = 6.5, [2] = 7, [3] = 8.5, [4] = 9, [5] = 1.5, [6] = 2, [7] = 3.5, [8] = 4)', 122dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(rs_matrix4x4) matrix4x4_local = {\n' 123dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' m = {\n' 124dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [0] = 5.5\n' 125dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [1] = 6\n' 126dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [2] = 7.5\n' 127dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [3] = 8\n' 128dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [4] = 9\n' 129dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [5] = 1.5\n' 130dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [6] = 2\n' 131dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [7] = 3.5\n' 132dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [8] = 4.5\n' 133dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [9] = 5.5\n' 134dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [10] = 6.5\n' 135dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [11] = 7\n' 136dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [12] = 8\n' 137dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [13] = 9.5\n' 138dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [14] = 1.5\n' 139dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [15] = 2.5\n' 140dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' }\n', 141dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(rs_quaternion) quaternion_local = (8, 9, 0.5, 7.5)'], 142dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo [r"\((signed )?char\) char_local = 'a'", 143dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo r'\((long )?long\) long_local = -77777']) 144dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 145a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 146a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 147a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_primitive_types(self): 148dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo # Use expr to inspect locals 149dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('char_local', 150dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ["'a'"], 151dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo [r'\((signed )?char\)']) 152dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 153dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uchar_local', 154dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uchar)', "'b'"]) 155dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 156dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('short_local', 157dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(short)', '-321']) 158dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 159dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ushort_local', 160dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ushort)', '432']) 161dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 162dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('int_local', 163dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(int)', '1234']) 164dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 165dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uint_local', 166dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uint)', '2345']) 167dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 168dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('float_local', 169dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(float)', '4.5']) 170dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 171dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('long_local', 172dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['-77777'], [r'\((long )?long\)']) 173dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 174dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ulong_local', 175dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ulong)', '8888']) 176dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 177dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('double_local', 178dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(double)', '-456.5']) 179dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 180dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 181a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 182a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_uchar2(self): 183dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uchar2_local', 184dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uchar2)', '(0x21, 0x2c)']) 185dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 186a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_vec2_types(self): 187a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond self._try_inspecting_local('char2_local', 188a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond ['(char2)', '(-11, -22)']) 189a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond 190dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('short2_local', 191dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(short2)', '(-555, 666)']) 192dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 193dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ushort2_local', 194dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ushort2)', '(777, 888)']) 195dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 196dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('int2_local', 197dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(int2)', '(999, -1111)']) 198dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 199dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uint2_local', 200dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uint2)', '(2222, 3333)']) 201dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 202dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('float2_local', 203dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(float2)', '(4.5, -5)']) 204dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 205dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('long2_local', 206dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(long2)', '(-4444, 5555)']) 207dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 208dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ulong2_local', 209dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ulong2)', '(6666, 7777)']) 210dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 211dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('double2_local', 212dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(double2)', '(88.5, -99)']) 213dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 214dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('char3_local', 215dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(char3)', 216dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(11, -22, -33,']) 217dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 218dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uchar3_local', 219dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uchar3)', 220dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(0x21, 0x2c, 0x37,']) 221dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 222a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 223a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_short3(self): 224dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('short3_local', 225dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(short3)', 226dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(-555, 666, 777,']) 227dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 228a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_vec3_types(self): 229dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ushort3_local', 230dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ushort3)', 231dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(777, 888, 999,']) 232dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 233dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('int3_local', 234dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(int3)', 235dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(999, -1111, 2222,']) 236dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 237dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uint3_local', 238dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uint3)', 239dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(2222, 3333, 4444,']) 240dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 241dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('float3_local', 242dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(float3)', 243dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(4.5, -5, -6.5,']) 244dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 245dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('long3_local', 246dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(long3)', 247dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(-4444, 5555, 6666,']) 248dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 249dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ulong3_local', 250dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ulong3)', 251dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(6666, 7777, 8888,']) 252dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 253dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('double3_local', 254dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(double3)', 255dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(88.5, -99, 111.5,']) 256dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 257dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('char4_local', 258dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(char4)', 259dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(55, 11, -22, -33)']) 260dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 261dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uchar4_local', 262dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uchar4)', 263dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(0x16, 0x21, 0x2c, 0x37)']) 264dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 265dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('short4_local', 266dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(short4)', 267dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(-444, -555, 666, 777)']) 268dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 269a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 270a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_ushort4(self): 271dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ushort4_local', 272dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ushort4)', 273dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(666, 777, 888, 999)']) 274dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 275a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_vec4_types(self): 276dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('int4_local', 277dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(int4)', 278dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(888, 999, -1111, 2222)']) 279dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 280dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('uint4_local', 281dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(uint4)', 282dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(1111, 2222, 3333, 4444)']) 283dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 284dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('float4_local', 285dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(float4)', 286dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(3, 4.5, -5, -6.5)']) 287dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 288dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('long4_local', 289dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(long4)', 290dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(-3333, -4444, 5555, 6666)']) 291dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 292dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('ulong4_local', 293dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(ulong4)', 294dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(5555, 6666, 7777, 8888)']) 295dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 296dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('double4_local', 297dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(double4)', 298dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(-77, 88.5, -99, 111.5)']) 299a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_matrix_types(self): 300dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('matrix2x2_local', 301dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(rs_matrix2x2)', 302dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '= (m = (1, 2.5, 3, 4.5))']) 303dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 304dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('matrix3x3_local', 305dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(rs_matrix3x3)', 306dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '= {\n' 307dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' m = ([0] = 5, [1] = 6.5, [2] = 7, [3] = 8.5, [4] = 9, [5] = 1.5, [6] = 2, [7] = 3.5, [8] = 4)']) 308dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 309a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 310a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_matrix_4x4_local(self): 311dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('matrix4x4_local', 312dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(rs_matrix4x4)', 313dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '= {\n' 314dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' m = {\n' 315dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [0] = 5.5\n' 316dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [1] = 6\n' 317dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [2] = 7.5\n' 318dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [3] = 8\n' 319dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [4] = 9\n' 320dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [5] = 1.5\n' 321dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [6] = 2\n' 322dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [7] = 3.5\n' 323dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [8] = 4.5\n' 324dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [9] = 5.5\n' 325dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [10] = 6.5\n' 326dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [11] = 7\n' 327dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [12] = 8\n' 328dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [13] = 9.5\n' 329dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [14] = 1.5\n' 330dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' [15] = 2.5\n' 331dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ' }\n']) 332dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 333a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @wimpy 334a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_inspect_quaternion_local(self): 335dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self._try_inspecting_local('quaternion_local', 336dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo ['(rs_quaternion)', 337dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo '(8, 9, 0.5, 7.5)']) 338dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 339a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @ordered_test('last') 340a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond @cpp_only_test() 341a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond def test_cpp_cleanup(self): 342dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo self.try_command('breakpoint delete 1', ['1 breakpoints deleted']) 343dcecc0c8d22e894525e25a122ce25129b51338f2Dean De Leo 344a3c6f62775506c95afd556e617f14d7a28839f01Luke Drummond self.try_command('process continue', ['exited with status = 0']) 345