1# Copyright (C) 2016 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15'''Module that contains the test TestAllocationList.''' 16 17from __future__ import absolute_import 18 19from harness.test_base_remote import TestBaseRemote 20from harness.decorators import ( 21 ordered_test, 22 wimpy, 23 cpp_only_test, 24 java_only_test, 25) 26 27 28class TestAllocationList(TestBaseRemote): 29 '''Tests printing the details of all allocations.''' 30 31 bundle_target = { 32 'java': 'Allocations', 33 'jni': 'JNIAllocations', 34 'cpp': 'CppAllocations' 35 } 36 37 @wimpy 38 @ordered_test(0) 39 def test_allocation_list_single(self): 40 # pylint: disable=anomalous-backslash-in-string 41 self.try_command('language renderscript kernel breakpoint all enable', 42 ['Breakpoints will be set on all kernels']) 43 44 self.try_command('process continue', 45 ['resuming', 46 'stopped', 47 'stop reason = breakpoint']) 48 49 # Test command line flag for single allocation 50 self.try_command('language renderscript allocation list -i 3', 51 [], 52 ['3:\n' 53 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 54 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 55 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 56 ' Dimensions: \(1, 3, 8\)\n' 57 ' Data Type: char\n' 58 ' Data Kind: User']) 59 60 @ordered_test(1) 61 def test_allocation_list_all(self): 62 self.try_command('language renderscript allocation list', 63 [], 64 ['1:\n' 65 # Regex for non zero hex number 66 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 67 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 68 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 69 ' Dimensions: \(64, 64, 0\)\n' 70 ' Data Type: uchar4\n' 71 ' Data Kind: RGBA Pixel', 72 '2:\n' 73 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 74 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 75 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 76 ' Dimensions: \(64, 64, 0\)\n' 77 ' Data Type: uchar4\n' 78 ' Data Kind: RGBA Pixel', 79 '3:\n' 80 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 81 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 82 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 83 ' Dimensions: \(1, 3, 8\)\n' 84 ' Data Type: char\n' 85 ' Data Kind: User', 86 '4:\n' 87 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 88 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 89 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 90 ' Dimensions: \(12, 0, 0\)\n' 91 ' Data Type: char2\n' 92 ' Data Kind: User', 93 '5:\n' 94 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 95 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 96 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 97 ' Dimensions: \(6, 0, 0\)\n' 98 ' Data Type: char3\n' 99 ' Data Kind: User', 100 '6:\n' 101 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 102 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 103 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 104 ' Dimensions: \(6, 0, 0\)\n' 105 ' Data Type: char4\n' 106 ' Data Kind: User', 107 '7:\n' 108 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 109 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 110 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 111 ' Dimensions: \(24, 0, 0\)\n' 112 ' Data Type: short\n' 113 ' Data Kind: User', 114 '8:\n' 115 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 116 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 117 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 118 ' Dimensions: \(6, 1, 2\)\n' 119 ' Data Type: short2\n' 120 ' Data Kind: User', 121 '9:\n' 122 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 123 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 124 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 125 ' Dimensions: \(6, 0, 0\)\n' 126 ' Data Type: short3\n' 127 ' Data Kind: User', 128 '10:\n' 129 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 130 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 131 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 132 ' Dimensions: \(6, 0, 0\)\n' 133 ' Data Type: short4\n' 134 ' Data Kind: User', 135 '11:\n' 136 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 137 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 138 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 139 ' Dimensions: \(24, 0, 0\)\n' 140 ' Data Type: int\n' 141 ' Data Kind: User', 142 '12:\n' 143 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 144 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 145 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 146 ' Dimensions: \(12, 0, 0\)\n' 147 ' Data Type: int2\n' 148 ' Data Kind: User', 149 '13:\n' 150 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 151 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 152 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 153 ' Dimensions: \(3, 2, 0\)\n' 154 ' Data Type: int3\n' 155 ' Data Kind: User', 156 '14:\n' 157 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 158 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 159 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 160 ' Dimensions: \(6, 0, 0\)\n' 161 ' Data Type: int4\n' 162 ' Data Kind: User', 163 '15:\n' 164 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 165 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 166 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 167 ' Dimensions: \(24, 0, 0\)\n' 168 ' Data Type: long\n' 169 ' Data Kind: User', 170 '16:\n' 171 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 172 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 173 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 174 ' Dimensions: \(12, 0, 0\)\n' 175 ' Data Type: long2\n' 176 ' Data Kind: User', 177 '17:\n' 178 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 179 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 180 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 181 ' Dimensions: \(6, 0, 0\)\n' 182 ' Data Type: long3\n' 183 ' Data Kind: User', 184 '18:\n' 185 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 186 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 187 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 188 ' Dimensions: \(1, 6, 0\)\n' 189 ' Data Type: long4\n' 190 ' Data Kind: User', 191 '19:\n' 192 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 193 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 194 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 195 ' Dimensions: \(24, 0, 0\)\n' 196 ' Data Type: bool\n' 197 ' Data Kind: User' 198 ]) 199 200 @wimpy 201 @ordered_test(2) 202 def test_continue_1(self): 203 self.try_command('breakpoint del 1', 204 ['1 breakpoints deleted']) 205 206 # Hit second kernel 207 self.try_command('process continue', 208 ['resuming', 209 'stopped', 210 'stop reason = breakpoint']) 211 212 @ordered_test(3) 213 def test_allocation_list_all2_java(self): 214 # TODO investigate why java tests show extra allocations 215 if self.app_type == 'java': 216 allocation_1_re = [ 217 '1:\n' 218 # Regex for non zero hex number 219 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 220 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 221 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 222 ' Dimensions: \(64, 64, 0\)\n' 223 ' Data Type: uchar4\n' 224 ' Data Kind: RGBA Pixel' 225 ] 226 else: 227 allocation_1_re = [] 228 229 self.try_command('language renderscript allocation list', 230 [], 231 allocation_1_re + 232 ['2:\n' 233 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 234 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 235 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 236 ' Dimensions: \(64, 64, 0\)\n' 237 ' Data Type: uchar4\n' 238 ' Data Kind: RGBA Pixel', 239 '7:\n' 240 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 241 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 242 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 243 ' Dimensions: \(24, 0, 0\)\n' 244 ' Data Type: short\n' 245 ' Data Kind: User', 246 '20:\n' 247 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 248 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 249 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 250 ' Dimensions: \(24, 0, 0\)\n' 251 ' Data Type: uchar\n' 252 ' Data Kind: User', 253 '21:\n' 254 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 255 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 256 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 257 ' Dimensions: \(2, 6, 0\)\n' 258 ' Data Type: uchar2\n' 259 ' Data Kind: User', 260 '22:\n' 261 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 262 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 263 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 264 ' Dimensions: \(6, 0, 0\)\n' 265 ' Data Type: uchar3\n' 266 ' Data Kind: User', 267 '23:\n' 268 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 269 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 270 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 271 ' Dimensions: \(6, 0, 0\)\n' 272 ' Data Type: uchar4\n' 273 ' Data Kind: User', 274 '24:\n' 275 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 276 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 277 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 278 ' Dimensions: \(24, 0, 0\)\n' 279 ' Data Type: ushort\n' 280 ' Data Kind: User', 281 '25:\n' 282 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 283 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 284 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 285 ' Dimensions: \(12, 0, 0\)\n' 286 ' Data Type: ushort2\n' 287 ' Data Kind: User', 288 '26:\n' 289 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 290 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 291 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 292 ' Dimensions: \(1, 6, 0\)\n' 293 ' Data Type: ushort3\n' 294 ' Data Kind: User', 295 '27:\n' 296 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 297 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 298 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 299 ' Dimensions: \(6, 0, 0\)\n' 300 ' Data Type: ushort4\n' 301 ' Data Kind: User', 302 '28:\n' 303 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 304 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 305 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 306 ' Dimensions: \(24, 0, 0\)\n' 307 ' Data Type: uint\n' 308 ' Data Kind: User', 309 '29:\n' 310 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 311 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 312 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 313 ' Dimensions: \(12, 0, 0\)\n' 314 ' Data Type: uint2\n' 315 ' Data Kind: User', 316 '30:\n' 317 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 318 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 319 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 320 ' Dimensions: \(6, 0, 0\)\n' 321 ' Data Type: uint3\n' 322 ' Data Kind: User', 323 '31:\n' 324 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 325 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 326 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 327 ' Dimensions: \(1, 1, 6\)\n' 328 ' Data Type: uint4\n' 329 ' Data Kind: User', 330 '32:\n' 331 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 332 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 333 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 334 ' Dimensions: \(4, 3, 2\)\n' 335 ' Data Type: ulong\n' 336 ' Data Kind: User', 337 '33:\n' 338 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 339 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 340 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 341 ' Dimensions: \(12, 0, 0\)\n' 342 ' Data Type: ulong2\n' 343 ' Data Kind: User', 344 '34:\n' 345 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 346 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 347 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 348 ' Dimensions: \(6, 0, 0\)\n' 349 ' Data Type: ulong3\n' 350 ' Data Kind: User', 351 '35:\n' 352 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 353 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 354 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 355 ' Dimensions: \(6, 0, 0\)\n' 356 ' Data Type: ulong4\n' 357 ' Data Kind: User' 358 ]) 359 360 @wimpy 361 @ordered_test(4) 362 def test_continue_2(self): 363 self.try_command('breakpoint del 2', 364 ['1 breakpoints deleted']) 365 366 # Hit third kernel 367 self.try_command('process continue', 368 ['resuming', 369 'stopped', 370 'stop reason = breakpoint']) 371 372 @ordered_test(5) 373 def test_allocation_list_all3(self): 374 self.try_command('language renderscript allocation list', 375 [], 376 ['2:\n' 377 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 378 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 379 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 380 ' Dimensions: \(64, 64, 0\)\n' 381 ' Data Type: uchar4\n' 382 ' Data Kind: RGBA Pixel', 383 '7:\n' 384 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 385 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 386 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 387 ' Dimensions: \(24, 0, 0\)\n' 388 ' Data Type: short\n' 389 ' Data Kind: User', 390 '28:\n' 391 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 392 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 393 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 394 ' Dimensions: \(24, 0, 0\)\n' 395 ' Data Type: uint\n' 396 ' Data Kind: User', 397 '36:\n' 398 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 399 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 400 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 401 ' Dimensions: \(24, 0, 0\)\n' 402 ' Data Type: half\n' 403 ' Data Kind: User', 404 '37:\n' 405 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 406 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 407 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 408 ' Dimensions: \(12, 0, 0\)\n' 409 ' Data Type: half2\n' 410 ' Data Kind: User', 411 '38:\n' 412 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 413 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 414 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 415 ' Dimensions: \(1, 6, 0\)\n' 416 ' Data Type: half3\n' 417 ' Data Kind: User', 418 '39:\n' 419 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 420 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 421 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 422 ' Dimensions: \(6, 0, 0\)\n' 423 ' Data Type: half4\n' 424 ' Data Kind: User', 425 '40:\n' 426 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 427 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 428 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 429 ' Dimensions: \(24, 0, 0\)\n' 430 ' Data Type: float\n' 431 ' Data Kind: User', 432 '41:\n' 433 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 434 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 435 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 436 ' Dimensions: \(12, 0, 0\)\n' 437 ' Data Type: float2\n' 438 ' Data Kind: User', 439 '42:\n' 440 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 441 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 442 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 443 ' Dimensions: \(6, 0, 0\)\n' 444 ' Data Type: float3\n' 445 ' Data Kind: User', 446 '43:\n' 447 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 448 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 449 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 450 ' Dimensions: \(3, 2, 0\)\n' 451 ' Data Type: float4\n' 452 ' Data Kind: User', 453 '44:\n' 454 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 455 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 456 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 457 ' Dimensions: \(24, 0, 0\)\n' 458 ' Data Type: double\n' 459 ' Data Kind: User', 460 '45:\n' 461 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 462 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 463 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 464 ' Dimensions: \(4, 1, 3\)\n' 465 ' Data Type: double2\n' 466 ' Data Kind: User', 467 '46:\n' 468 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 469 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 470 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 471 ' Dimensions: \(1, 2, 3\)\n' 472 ' Data Type: double3\n' 473 ' Data Kind: User', 474 '47:\n' 475 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 476 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 477 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 478 ' Dimensions: \(1, 2, 3\)\n' 479 ' Data Type: double4\n' 480 ' Data Kind: User']) 481 482 @wimpy 483 @ordered_test(6) 484 @java_only_test() 485 def test_allocation_list_all4(self): 486 self.try_command('breakpoint del 3', 487 ['1 breakpoints deleted']) 488 489 # Hit last kernel 490 self.try_command('process continue', 491 ['resuming', 492 'stopped', 493 'stop reason = breakpoint']) 494 495 self.try_command('language renderscript allocation list', 496 [], 497 ['2:\n' 498 # Regex for non zero hex number 499 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 500 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 501 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 502 ' Dimensions: \(64, 64, 0\)\n' 503 ' Data Type: uchar4\n' 504 ' Data Kind: RGBA Pixel', 505 '7:\n' 506 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 507 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 508 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 509 ' Dimensions: \(24, 0, 0\)\n' 510 ' Data Type: short\n' 511 ' Data Kind: User', 512 '28:\n' 513 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 514 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 515 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 516 ' Dimensions: \(24, 0, 0\)\n' 517 ' Data Type: uint\n' 518 ' Data Kind: User', 519 '46:\n' 520 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 521 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 522 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 523 ' Dimensions: \(1, 2, 3\)\n' 524 ' Data Type: double3\n' 525 ' Data Kind: User', 526 '48:\n' 527 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 528 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 529 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 530 ' Dimensions: \(24, 0, 0\)\n' 531 ' Data Type: complexStruct\n' 532 ' Data Kind: User', 533 '49:\n' 534 ' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 535 ' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 536 ' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n' 537 ' Dimensions: \(24, 0, 0\)\n' 538 ' Data Type: complexStruct\n' 539 ' Data Kind: User']) 540 541 @ordered_test(7) 542 @cpp_only_test() 543 def test_cpp_cleanup(self): 544 self.try_command('breakpoint delete 3', ['1 breakpoints deleted']) 545 546 self.try_command('process continue', 547 ['exited with status = 0']) 548