blob: e42a70c1c53b600d9611d610b49f65fc8829891e [file] [log] [blame]
'''Module that contains the test TestAllocationList.'''
from __future__ import absolute_import
from harness.test_base_remote import TestBaseRemote
from harness.decorators import (
ordered_test,
wimpy,
cpp_only_test,
java_only_test,
)
class TestAllocationList(TestBaseRemote):
'''Tests printing the details of all allocations.'''
bundle_target = {
'java': 'Allocations',
'jni': 'JNIAllocations',
'cpp': 'CppAllocations'
}
@wimpy
@ordered_test(0)
def test_allocation_list_single(self):
# pylint: disable=anomalous-backslash-in-string
self.try_command('language renderscript kernel breakpoint all enable',
['Breakpoints will be set on all kernels'])
self.try_command('process continue',
['resuming',
'stopped',
'stop reason = breakpoint'])
# Test command line flag for single allocation
self.try_command('language renderscript allocation list -i 3',
[],
['3:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 3, 8\)\n'
' Data Type: char\n'
' Data Kind: User'])
@ordered_test(1)
def test_allocation_list_all(self):
self.try_command('language renderscript allocation list',
[],
['1:\n'
# Regex for non zero hex number
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'2:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'3:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 3, 8\)\n'
' Data Type: char\n'
' Data Kind: User',
'4:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: char2\n'
' Data Kind: User',
'5:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: char3\n'
' Data Kind: User',
'6:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: char4\n'
' Data Kind: User',
'7:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: short\n'
' Data Kind: User',
'8:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 1, 2\)\n'
' Data Type: short2\n'
' Data Kind: User',
'9:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: short3\n'
' Data Kind: User',
'10:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: short4\n'
' Data Kind: User',
'11:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: int\n'
' Data Kind: User',
'12:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: int2\n'
' Data Kind: User',
'13:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(3, 2, 0\)\n'
' Data Type: int3\n'
' Data Kind: User',
'14:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: int4\n'
' Data Kind: User',
'15:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: long\n'
' Data Kind: User',
'16:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: long2\n'
' Data Kind: User',
'17:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: long3\n'
' Data Kind: User',
'18:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 6, 0\)\n'
' Data Type: long4\n'
' Data Kind: User',
'19:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: bool\n'
' Data Kind: User'
])
@wimpy
@ordered_test(2)
def test_continue_1(self):
self.try_command('breakpoint del 1',
['1 breakpoints deleted'])
# Hit second kernel
self.try_command('process continue',
['resuming',
'stopped',
'stop reason = breakpoint'])
@ordered_test(3)
def test_allocation_list_all2_java(self):
# TODO investigate why java tests show extra allocations
if self.app_type == 'java':
allocation_1_re = [
'1:\n'
# Regex for non zero hex number
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel'
]
else:
allocation_1_re = []
self.try_command('language renderscript allocation list',
[],
allocation_1_re +
['2:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'7:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: short\n'
' Data Kind: User',
'20:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: uchar\n'
' Data Kind: User',
'21:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(2, 6, 0\)\n'
' Data Type: uchar2\n'
' Data Kind: User',
'22:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: uchar3\n'
' Data Kind: User',
'23:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: User',
'24:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: ushort\n'
' Data Kind: User',
'25:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: ushort2\n'
' Data Kind: User',
'26:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 6, 0\)\n'
' Data Type: ushort3\n'
' Data Kind: User',
'27:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: ushort4\n'
' Data Kind: User',
'28:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: uint\n'
' Data Kind: User',
'29:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: uint2\n'
' Data Kind: User',
'30:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: uint3\n'
' Data Kind: User',
'31:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 1, 6\)\n'
' Data Type: uint4\n'
' Data Kind: User',
'32:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(4, 3, 2\)\n'
' Data Type: ulong\n'
' Data Kind: User',
'33:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: ulong2\n'
' Data Kind: User',
'34:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: ulong3\n'
' Data Kind: User',
'35:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: ulong4\n'
' Data Kind: User'
])
@wimpy
@ordered_test(4)
def test_continue_2(self):
self.try_command('breakpoint del 2',
['1 breakpoints deleted'])
# Hit third kernel
self.try_command('process continue',
['resuming',
'stopped',
'stop reason = breakpoint'])
@ordered_test(5)
def test_allocation_list_all3(self):
# TODO investigate why java tests show extra allocations
if self.app_type == 'java':
allocation_1_re = [
'1:\n'
# Regex for non zero hex number
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel'
]
else:
allocation_1_re = []
self.try_command('language renderscript allocation list',
[],
allocation_1_re +
['2:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'7:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: short\n'
' Data Kind: User',
'28:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: uint\n'
' Data Kind: User',
'36:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: half\n'
' Data Kind: User',
'37:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: half2\n'
' Data Kind: User',
'38:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 6, 0\)\n'
' Data Type: half3\n'
' Data Kind: User',
'39:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: half4\n'
' Data Kind: User',
'40:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: float\n'
' Data Kind: User',
'41:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(12, 0, 0\)\n'
' Data Type: float2\n'
' Data Kind: User',
'42:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(6, 0, 0\)\n'
' Data Type: float3\n'
' Data Kind: User',
'43:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(3, 2, 0\)\n'
' Data Type: float4\n'
' Data Kind: User',
'44:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: double\n'
' Data Kind: User',
'45:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(4, 1, 3\)\n'
' Data Type: double2\n'
' Data Kind: User',
'46:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 2, 3\)\n'
' Data Type: double3\n'
' Data Kind: User',
'47:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 2, 3\)\n'
' Data Type: double4\n'
' Data Kind: User'])
@wimpy
@ordered_test(6)
@java_only_test()
def test_allocation_list_all4(self):
self.try_command('breakpoint del 3',
['1 breakpoints deleted'])
# Hit last kernel
self.try_command('process continue',
['resuming',
'stopped',
'stop reason = breakpoint'])
self.try_command('language renderscript allocation list',
[],
['1:\n'
# Regex for non zero hex number
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'2:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(64, 64, 0\)\n'
' Data Type: uchar4\n'
' Data Kind: RGBA Pixel',
'7:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: short\n'
' Data Kind: User',
'28:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: uint\n'
' Data Kind: User',
'46:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(1, 2, 3\)\n'
' Data Type: double3\n'
' Data Kind: User',
'48:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: complexStruct\n'
' Data Kind: User',
'49:\n'
' Context: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Address: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Data pointer: 0x0*[1-9a-fA-F][0-9a-fA-F]*\n'
' Dimensions: \(24, 0, 0\)\n'
' Data Type: complexStruct\n'
' Data Kind: User'])
@ordered_test(7)
@cpp_only_test()
def test_cpp_cleanup(self):
self.try_command('breakpoint delete 3', ['1 breakpoints deleted'])
self.try_command('process continue',
['exited with status = 0'])