• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 TestAllocationDump2Cpp.'''
16
17from __future__ import absolute_import
18
19from harness.test_base_remote import TestBaseRemote
20
21
22class TestAllocationDump2Cpp(TestBaseRemote):
23    '''Tests printing the contents of allocations in an NDK app.'''
24
25    bundle_target = {
26        'cpp': 'CppAllocations'
27    }
28
29    def test_case(self):
30        '''Run the lldb commands that are being tested.
31
32        Raises:
33            TestFail: One of the lldb commands did not provide the expected
34            output.
35        '''
36        # pylint: disable=line-too-long
37        self.try_command('language renderscript kernel breakpoint all enable',
38                         ['Breakpoints will be set on all kernels'])
39
40        self.try_command('process continue',
41                         ['resuming',
42                          'stopped',
43                          'stop reason = breakpoint'])
44
45        self.try_command('breakpoint del 1',
46                         ['1 breakpoints deleted'])
47
48        # Hit second kernel
49        self.try_command('process continue',
50                         ['resuming',
51                          'stopped',
52                          'stop reason = breakpoint'])
53
54        # uchar
55        self.try_command('language renderscript allocation dump 20',
56                         ['(0, 0, 0) = 0',
57                          '(1, 0, 0) = 1',
58                          '(2, 0, 0) = 2',
59                          '(3, 0, 0) = 3',
60                          '(4, 0, 0) = 4',
61                          '(5, 0, 0) = 5',
62                          '(6, 0, 0) = 6',
63                          '(7, 0, 0) = 7',
64                          '(8, 0, 0) = 8',
65                          '(9, 0, 0) = 9',
66                          '(10, 0, 0) = 10',
67                          '(11, 0, 0) = 11',
68                          '(12, 0, 0) = 12',
69                          '(13, 0, 0) = 13',
70                          '(14, 0, 0) = 14',
71                          '(15, 0, 0) = 15',
72                          '(16, 0, 0) = 16',
73                          '(17, 0, 0) = 17',
74                          '(18, 0, 0) = 18',
75                          '(19, 0, 0) = 19',
76                          '(20, 0, 0) = 20',
77                          '(21, 0, 0) = 21',
78                          '(22, 0, 0) = 22',
79                          '(23, 0, 0) = 23'])
80
81        # uchar2
82        self.try_command('language renderscript allocation dump 21',
83                         ['(0, 0, 0) = {0x00 0x01}',
84                          '(1, 0, 0) = {0x02 0x03}',
85                          '(0, 1, 0) = {0x04 0x05}',
86                          '(1, 1, 0) = {0x06 0x07}',
87                          '(0, 2, 0) = {0x08 0x09}',
88                          '(1, 2, 0) = {0x0a 0x0b}',
89                          '(0, 3, 0) = {0x0c 0x0d}',
90                          '(1, 3, 0) = {0x0e 0x0f}',
91                          '(0, 4, 0) = {0x10 0x11}',
92                          '(1, 4, 0) = {0x12 0x13}',
93                          '(0, 5, 0) = {0x14 0x15}',
94                          '(1, 5, 0) = {0x16 0x17}'])
95
96        # uchar3
97        self.try_command('language renderscript allocation dump 22',
98                         ['(0, 0, 0) = {0x00 0x01 0x02}',
99                          '(1, 0, 0) = {0x04 0x05 0x06}',
100                          '(2, 0, 0) = {0x08 0x09 0x0a}',
101                          '(3, 0, 0) = {0x0c 0x0d 0x0e}',
102                          '(4, 0, 0) = {0x10 0x11 0x12}',
103                          '(5, 0, 0) = {0x14 0x15 0x16}'])
104
105        # uchar4
106        self.try_command('language renderscript allocation dump 23',
107                         ['(0, 0, 0) = {0x00 0x01 0x02 0x03}',
108                          '(1, 0, 0) = {0x04 0x05 0x06 0x07}',
109                          '(2, 0, 0) = {0x08 0x09 0x0a 0x0b}',
110                          '(3, 0, 0) = {0x0c 0x0d 0x0e 0x0f}',
111                          '(4, 0, 0) = {0x10 0x11 0x12 0x13}',
112                          '(5, 0, 0) = {0x14 0x15 0x16 0x17}'])
113
114        # ushort
115        self.try_command('language renderscript allocation dump 24',
116                         ['(0, 0, 0) = 0',
117                          '(1, 0, 0) = 1',
118                          '(2, 0, 0) = 2',
119                          '(3, 0, 0) = 3',
120                          '(4, 0, 0) = 4',
121                          '(5, 0, 0) = 5',
122                          '(6, 0, 0) = 6',
123                          '(7, 0, 0) = 7',
124                          '(8, 0, 0) = 8',
125                          '(9, 0, 0) = 9',
126                          '(10, 0, 0) = 10',
127                          '(11, 0, 0) = 11',
128                          '(12, 0, 0) = 12',
129                          '(13, 0, 0) = 13',
130                          '(14, 0, 0) = 14',
131                          '(15, 0, 0) = 15',
132                          '(16, 0, 0) = 16',
133                          '(17, 0, 0) = 17',
134                          '(18, 0, 0) = 18',
135                          '(19, 0, 0) = 19',
136                          '(20, 0, 0) = 20',
137                          '(21, 0, 0) = 21',
138                          '(22, 0, 0) = 22',
139                          '(23, 0, 0) = 23'])
140
141        # ushort2
142        self.try_command('language renderscript allocation dump 25',
143                         ['(0, 0, 0) = {0x0000 0x0001}',
144                          '(1, 0, 0) = {0x0002 0x0003}',
145                          '(2, 0, 0) = {0x0004 0x0005}',
146                          '(3, 0, 0) = {0x0006 0x0007}',
147                          '(4, 0, 0) = {0x0008 0x0009}',
148                          '(5, 0, 0) = {0x000a 0x000b}',
149                          '(6, 0, 0) = {0x000c 0x000d}',
150                          '(7, 0, 0) = {0x000e 0x000f}',
151                          '(8, 0, 0) = {0x0010 0x0011}',
152                          '(9, 0, 0) = {0x0012 0x0013}',
153                          '(10, 0, 0) = {0x0014 0x0015}',
154                          '(11, 0, 0) = {0x0016 0x0017}'])
155
156        # ushort3
157        self.try_command('language renderscript allocation dump 26',
158                         ['(0, 0, 0) = {0x0000 0x0001 0x0002}',
159                          '(0, 1, 0) = {0x0004 0x0005 0x0006}',
160                          '(0, 2, 0) = {0x0008 0x0009 0x000a}',
161                          '(0, 3, 0) = {0x000c 0x000d 0x000e}',
162                          '(0, 4, 0) = {0x0010 0x0011 0x0012}',
163                          '(0, 5, 0) = {0x0014 0x0015 0x0016}'])
164
165        # ushort4
166        self.try_command('language renderscript allocation dump 27',
167                         ['(0, 0, 0) = {0x0000 0x0001 0x0002 0x0003}',
168                          '(1, 0, 0) = {0x0004 0x0005 0x0006 0x0007}',
169                          '(2, 0, 0) = {0x0008 0x0009 0x000a 0x000b}',
170                          '(3, 0, 0) = {0x000c 0x000d 0x000e 0x000f}',
171                          '(4, 0, 0) = {0x0010 0x0011 0x0012 0x0013}',
172                          '(5, 0, 0) = {0x0014 0x0015 0x0016 0x0017}'])
173
174        # uint
175        self.try_command('language renderscript allocation dump 28',
176                         ['(0, 0, 0) = 0',
177                          '(1, 0, 0) = 1',
178                          '(2, 0, 0) = 2',
179                          '(3, 0, 0) = 3',
180                          '(4, 0, 0) = 4',
181                          '(5, 0, 0) = 5',
182                          '(6, 0, 0) = 6',
183                          '(7, 0, 0) = 7',
184                          '(8, 0, 0) = 8',
185                          '(9, 0, 0) = 9',
186                          '(10, 0, 0) = 10',
187                          '(11, 0, 0) = 11',
188                          '(12, 0, 0) = 12',
189                          '(13, 0, 0) = 13',
190                          '(14, 0, 0) = 14',
191                          '(15, 0, 0) = 15',
192                          '(16, 0, 0) = 16',
193                          '(17, 0, 0) = 17',
194                          '(18, 0, 0) = 18',
195                          '(19, 0, 0) = 19',
196                          '(20, 0, 0) = 20',
197                          '(21, 0, 0) = 21',
198                          '(22, 0, 0) = 22',
199                          '(23, 0, 0) = 23'])
200
201        # uint2
202        self.try_command('language renderscript allocation dump 29',
203                         ['(0, 0, 0) = {0x00000000 0x00000001}',
204                          '(1, 0, 0) = {0x00000002 0x00000003}',
205                          '(2, 0, 0) = {0x00000004 0x00000005}',
206                          '(3, 0, 0) = {0x00000006 0x00000007}',
207                          '(4, 0, 0) = {0x00000008 0x00000009}',
208                          '(5, 0, 0) = {0x0000000a 0x0000000b}',
209                          '(6, 0, 0) = {0x0000000c 0x0000000d}',
210                          '(7, 0, 0) = {0x0000000e 0x0000000f}',
211                          '(8, 0, 0) = {0x00000010 0x00000011}',
212                          '(9, 0, 0) = {0x00000012 0x00000013}',
213                          '(10, 0, 0) = {0x00000014 0x00000015}',
214                          '(11, 0, 0) = {0x00000016 0x00000017}'])
215
216        # uint3
217        self.try_command('language renderscript allocation dump 30',
218                         ['(0, 0, 0) = {0x00000000 0x00000001 0x00000002}',
219                          '(1, 0, 0) = {0x00000004 0x00000005 0x00000006}',
220                          '(2, 0, 0) = {0x00000008 0x00000009 0x0000000a}',
221                          '(3, 0, 0) = {0x0000000c 0x0000000d 0x0000000e}',
222                          '(4, 0, 0) = {0x00000010 0x00000011 0x00000012}',
223                          '(5, 0, 0) = {0x00000014 0x00000015 0x00000016}'])
224
225        # uint4
226        self.try_command('language renderscript allocation dump 31',
227                         ['(0, 0, 0) = {0x00000000 0x00000001 0x00000002 0x00000003}',
228                          '(0, 0, 1) = {0x00000004 0x00000005 0x00000006 0x00000007}',
229                          '(0, 0, 2) = {0x00000008 0x00000009 0x0000000a 0x0000000b}',
230                          '(0, 0, 3) = {0x0000000c 0x0000000d 0x0000000e 0x0000000f}',
231                          '(0, 0, 4) = {0x00000010 0x00000011 0x00000012 0x00000013}',
232                          '(0, 0, 5) = {0x00000014 0x00000015 0x00000016 0x00000017}'])
233
234        # ulong
235        self.try_command('language renderscript allocation dump 32',
236                         ['(0, 0, 0) = 0',
237                          '(1, 0, 0) = 1',
238                          '(2, 0, 0) = 2',
239                          '(3, 0, 0) = 3',
240                          '(0, 1, 0) = 4',
241                          '(1, 1, 0) = 5',
242                          '(2, 1, 0) = 6',
243                          '(3, 1, 0) = 7',
244                          '(0, 2, 0) = 8',
245                          '(1, 2, 0) = 9',
246                          '(2, 2, 0) = 10',
247                          '(3, 2, 0) = 11',
248                          '(0, 0, 1) = 12',
249                          '(1, 0, 1) = 13',
250                          '(2, 0, 1) = 14',
251                          '(3, 0, 1) = 15',
252                          '(0, 1, 1) = 16',
253                          '(1, 1, 1) = 17',
254                          '(2, 1, 1) = 18',
255                          '(3, 1, 1) = 19',
256                          '(0, 2, 1) = 20',
257                          '(1, 2, 1) = 21',
258                          '(2, 2, 1) = 22',
259                          '(3, 2, 1) = 23'])
260
261        # ulong2
262        self.try_command('language renderscript allocation dump 33',
263                         ['(0, 0, 0) = {0x0000000000000000 0x0000000000000001}',
264                          '(1, 0, 0) = {0x0000000000000002 0x0000000000000003}',
265                          '(2, 0, 0) = {0x0000000000000004 0x0000000000000005}',
266                          '(3, 0, 0) = {0x0000000000000006 0x0000000000000007}',
267                          '(4, 0, 0) = {0x0000000000000008 0x0000000000000009}',
268                          '(5, 0, 0) = {0x000000000000000a 0x000000000000000b}',
269                          '(6, 0, 0) = {0x000000000000000c 0x000000000000000d}',
270                          '(7, 0, 0) = {0x000000000000000e 0x000000000000000f}',
271                          '(8, 0, 0) = {0x0000000000000010 0x0000000000000011}',
272                          '(9, 0, 0) = {0x0000000000000012 0x0000000000000013}',
273                          '(10, 0, 0) = {0x0000000000000014 0x0000000000000015}',
274                          '(11, 0, 0) = {0x0000000000000016 0x0000000000000017}'])
275
276        # ulong3
277        self.try_command('language renderscript allocation dump 34',
278                         ['(0, 0, 0) = {0x0000000000000000 0x0000000000000001 0x0000000000000002}',
279                          '(1, 0, 0) = {0x0000000000000004 0x0000000000000005 0x0000000000000006}',
280                          '(2, 0, 0) = {0x0000000000000008 0x0000000000000009 0x000000000000000a}',
281                          '(3, 0, 0) = {0x000000000000000c 0x000000000000000d 0x000000000000000e}',
282                          '(4, 0, 0) = {0x0000000000000010 0x0000000000000011 0x0000000000000012}',
283                          '(5, 0, 0) = {0x0000000000000014 0x0000000000000015 0x0000000000000016}'])
284
285        # ulong4
286        self.try_command('language renderscript allocation dump 35',
287                         ['(0, 0, 0) = {0x0000000000000000 0x0000000000000001 '
288                                       '0x0000000000000002 0x0000000000000003}',
289                          '(1, 0, 0) = {0x0000000000000004 0x0000000000000005 '
290                                       '0x0000000000000006 0x0000000000000007}',
291                          '(2, 0, 0) = {0x0000000000000008 0x0000000000000009 '
292                                       '0x000000000000000a 0x000000000000000b}',
293                          '(3, 0, 0) = {0x000000000000000c 0x000000000000000d '
294                                       '0x000000000000000e 0x000000000000000f}',
295                          '(4, 0, 0) = {0x0000000000000010 0x0000000000000011 '
296                                       '0x0000000000000012 0x0000000000000013}',
297                          '(5, 0, 0) = {0x0000000000000014 0x0000000000000015 '
298                                       '0x0000000000000016 0x0000000000000017}'])
299
300        self.try_command('breakpoint del 2',
301                         ['1 breakpoints deleted'])
302
303        # Hit third kernel
304        self.try_command('process continue',
305                         ['resuming',
306                          'stopped',
307                          'stop reason = breakpoint'])
308
309        # Test that uint allocation has been squared by square_kernel
310        self.try_command('language renderscript allocation dump 28',
311                         ['(0, 0, 0) = 0',
312                          '(1, 0, 0) = 1',
313                          '(2, 0, 0) = 4',
314                          '(3, 0, 0) = 9',
315                          '(4, 0, 0) = 16',
316                          '(5, 0, 0) = 25',
317                          '(6, 0, 0) = 36',
318                          '(7, 0, 0) = 49',
319                          '(8, 0, 0) = 64',
320                          '(9, 0, 0) = 81',
321                          '(10, 0, 0) = 100',
322                          '(11, 0, 0) = 121',
323                          '(12, 0, 0) = 144',
324                          '(13, 0, 0) = 169',
325                          '(14, 0, 0) = 196',
326                          '(15, 0, 0) = 225',
327                          '(16, 0, 0) = 256',
328                          '(17, 0, 0) = 289',
329                          '(18, 0, 0) = 324',
330                          '(19, 0, 0) = 361',
331                          '(20, 0, 0) = 400',
332                          '(21, 0, 0) = 441',
333                          '(22, 0, 0) = 484',
334                          '(23, 0, 0) = 529'])
335
336        # half
337        self.try_command('language renderscript allocation dump 36',
338                         ['(0, 0, 0) = inf',
339                          '(1, 0, 0) = 1',
340                          '(2, 0, 0) = 0.5',
341                          '(3, 0, 0) = 0.333252',
342                          '(4, 0, 0) = 0.25',
343                          '(5, 0, 0) = 0.199951',
344                          '(6, 0, 0) = 0.166626',
345                          '(7, 0, 0) = 0.142822',
346                          '(8, 0, 0) = 0.125',
347                          '(9, 0, 0) = 0.111084',
348                          '(10, 0, 0) = 0.0999756',
349                          '(11, 0, 0) = 0.0908813',
350                          '(12, 0, 0) = 0.083313',
351                          '(13, 0, 0) = 0.0769043',
352                          '(14, 0, 0) = 0.0714111',
353                          '(15, 0, 0) = 0.0666504',
354                          '(16, 0, 0) = 0.0625',
355                          '(17, 0, 0) = 0.0588379',
356                          '(18, 0, 0) = 0.055542',
357                          '(19, 0, 0) = 0.0526428',
358                          '(20, 0, 0) = 0.0499878',
359                          '(21, 0, 0) = 0.0476074',
360                          '(22, 0, 0) = 0.0454407',
361                          '(23, 0, 0) = 0.0434875'])
362
363        # half2
364        self.try_command('language renderscript allocation dump 37',
365                         ['(0, 0, 0) = {inf 1}',
366                          '(1, 0, 0) = {0.5 0.333252}',
367                          '(2, 0, 0) = {0.25 0.199951}',
368                          '(3, 0, 0) = {0.166626 0.142822}',
369                          '(4, 0, 0) = {0.125 0.111084}',
370                          '(5, 0, 0) = {0.0999756 0.0908813}',
371                          '(6, 0, 0) = {0.083313 0.0769043}',
372                          '(7, 0, 0) = {0.0714111 0.0666504}',
373                          '(8, 0, 0) = {0.0625 0.0588379}',
374                          '(9, 0, 0) = {0.055542 0.0526428}',
375                          '(10, 0, 0) = {0.0499878 0.0476074}',
376                          '(11, 0, 0) = {0.0454407 0.0434875}'])
377
378        # half3
379        self.try_command('language renderscript allocation dump 38',
380                         ['(0, 0, 0) = {inf 1 0.5}',
381                          '(0, 1, 0) = {0.25 0.199951 0.166626}',
382                          '(0, 2, 0) = {0.125 0.111084 0.0999756}',
383                          '(0, 3, 0) = {0.083313 0.0769043 0.0714111}',
384                          '(0, 4, 0) = {0.0625 0.0588379 0.055542}',
385                          '(0, 5, 0) = {0.0499878 0.0476074 0.0454407}'])
386
387        # half4
388        self.try_command('language renderscript allocation dump 39',
389                         ['(0, 0, 0) = {inf 1 0.5 0.333252}',
390                          '(1, 0, 0) = {0.25 0.199951 0.166626 0.142822}',
391                          '(2, 0, 0) = {0.125 0.111084 0.0999756 0.0908813}',
392                          '(3, 0, 0) = {0.083313 0.0769043 0.0714111 0.0666504}',
393                          '(4, 0, 0) = {0.0625 0.0588379 0.055542 0.0526428}',
394                          '(5, 0, 0) = {0.0499878 0.0476074 0.0454407 0.0434875}'])
395
396        # float
397        self.try_command('language renderscript allocation dump 40',
398                         ['(0, 0, 0) = inf',
399                          '(1, 0, 0) = 1',
400                          '(2, 0, 0) = 0.5',
401                          '(3, 0, 0) = 0.333333',
402                          '(4, 0, 0) = 0.25',
403                          '(5, 0, 0) = 0.2',
404                          '(6, 0, 0) = 0.166667',
405                          '(7, 0, 0) = 0.142857',
406                          '(8, 0, 0) = 0.125',
407                          '(9, 0, 0) = 0.111111',
408                          '(10, 0, 0) = 0.1',
409                          '(11, 0, 0) = 0.0909091',
410                          '(12, 0, 0) = 0.0833333',
411                          '(13, 0, 0) = 0.0769231',
412                          '(14, 0, 0) = 0.0714286',
413                          '(15, 0, 0) = 0.0666667',
414                          '(16, 0, 0) = 0.0625',
415                          '(17, 0, 0) = 0.0588235',
416                          '(18, 0, 0) = 0.0555556',
417                          '(19, 0, 0) = 0.0526316',
418                          '(20, 0, 0) = 0.05',
419                          '(21, 0, 0) = 0.047619',
420                          '(22, 0, 0) = 0.0454545',
421                          '(23, 0, 0) = 0.0434783'])
422
423        # float2
424        self.try_command('language renderscript allocation dump 41',
425                         ['(0, 0, 0) = {inf 1}',
426                          '(1, 0, 0) = {0.5 0.333333}',
427                          '(2, 0, 0) = {0.25 0.2}',
428                          '(3, 0, 0) = {0.166667 0.142857}',
429                          '(4, 0, 0) = {0.125 0.111111}',
430                          '(5, 0, 0) = {0.1 0.0909091}',
431                          '(6, 0, 0) = {0.0833333 0.0769231}',
432                          '(7, 0, 0) = {0.0714286 0.0666667}',
433                          '(8, 0, 0) = {0.0625 0.0588235}',
434                          '(9, 0, 0) = {0.0555556 0.0526316}',
435                          '(10, 0, 0) = {0.05 0.047619}',
436                          '(11, 0, 0) = {0.0454545 0.0434783}'])
437
438        # float3
439        self.try_command('language renderscript allocation dump 42',
440                         ['(0, 0, 0) = {inf 1 0.5}',
441                          '(1, 0, 0) = {0.25 0.2 0.166667}',
442                          '(2, 0, 0) = {0.125 0.111111 0.1}',
443                          '(3, 0, 0) = {0.0833333 0.0769231 0.0714286}',
444                          '(4, 0, 0) = {0.0625 0.0588235 0.0555556}',
445                          '(5, 0, 0) = {0.05 0.047619 0.0454545}'])
446
447        # float4
448        self.try_command('language renderscript allocation dump 43',
449                         ['(0, 0, 0) = {inf 1 0.5 0.333333}',
450                          '(1, 0, 0) = {0.25 0.2 0.166667 0.142857}',
451                          '(2, 0, 0) = {0.125 0.111111 0.1 0.0909091}',
452                          '(0, 1, 0) = {0.0833333 0.0769231 0.0714286 0.0666667}',
453                          '(1, 1, 0) = {0.0625 0.0588235 0.0555556 0.0526316}',
454                          '(2, 1, 0) = {0.05 0.047619 0.0454545 0.0434783}'])
455
456        # double
457        self.try_command('language renderscript allocation dump 44',
458                         ['(0, 0, 0) = inf',
459                          '(1, 0, 0) = 1',
460                          '(2, 0, 0) = 0.5',
461                          '(3, 0, 0) = 0.333333333333333',
462                          '(4, 0, 0) = 0.25',
463                          '(5, 0, 0) = 0.2',
464                          '(6, 0, 0) = 0.166666666666667',
465                          '(7, 0, 0) = 0.142857142857143',
466                          '(8, 0, 0) = 0.125',
467                          '(9, 0, 0) = 0.111111111111111',
468                          '(10, 0, 0) = 0.1',
469                          '(11, 0, 0) = 0.0909090909090909',
470                          '(12, 0, 0) = 0.0833333333333333',
471                          '(13, 0, 0) = 0.0769230769230769',
472                          '(14, 0, 0) = 0.0714285714285714',
473                          '(15, 0, 0) = 0.0666666666666667',
474                          '(16, 0, 0) = 0.0625',
475                          '(17, 0, 0) = 0.0588235294117647',
476                          '(18, 0, 0) = 0.0555555555555556',
477                          '(19, 0, 0) = 0.0526315789473684',
478                          '(20, 0, 0) = 0.05',
479                          '(21, 0, 0) = 0.0476190476190476',
480                          '(22, 0, 0) = 0.0454545454545455',
481                          '(23, 0, 0) = 0.0434782608695652'])
482
483        # double2
484        self.try_command('language renderscript allocation dump 45',
485                         ['(0, 0, 0) = {inf 1}',
486                          '(1, 0, 0) = {0.5 0.333333333333333}',
487                          '(2, 0, 0) = {0.25 0.2}',
488                          '(3, 0, 0) = {0.166666666666667 0.142857142857143}',
489                          '(0, 0, 1) = {0.125 0.111111111111111}',
490                          '(1, 0, 1) = {0.1 0.0909090909090909}',
491                          '(2, 0, 1) = {0.0833333333333333 0.0769230769230769}',
492                          '(3, 0, 1) = {0.0714285714285714 0.0666666666666667}',
493                          '(0, 0, 2) = {0.0625 0.0588235294117647}',
494                          '(1, 0, 2) = {0.0555555555555556 0.0526315789473684}',
495                          '(2, 0, 2) = {0.05 0.0476190476190476}',
496                          '(3, 0, 2) = {0.0454545454545455 0.0434782608695652}'])
497
498        # double3
499        self.try_command('language renderscript allocation dump 46',
500                         ['(0, 0, 0) = {inf 1 0.5}',
501                          '(0, 1, 0) = {0.25 0.2 0.166666666666667}',
502                          '(0, 0, 1) = {0.125 0.111111111111111 0.1}',
503                          '(0, 1, 1) = {0.0833333333333333 0.0769230769230769 '
504                                       '0.0714285714285714}',
505                          '(0, 0, 2) = {0.0625 0.0588235294117647 0.0555555555555556}',
506                          '(0, 1, 2) = {0.05 0.0476190476190476 0.0454545454545455}'])
507
508        # double4
509        self.try_command('language renderscript allocation dump 47',
510                         ['(0, 0, 0) = {inf 1 0.5 0.333333333333333}',
511                          '(0, 1, 0) = {0.25 0.2 0.166666666666667 0.142857142857143}',
512                          '(0, 0, 1) = {0.125 0.111111111111111 0.1 0.0909090909090909}',
513                          '(0, 1, 1) = {0.0833333333333333 0.0769230769230769 '
514                                       '0.0714285714285714 0.0666666666666667}',
515                          '(0, 0, 2) = {0.0625 0.0588235294117647 '
516                                       '0.0555555555555556 0.0526315789473684}',
517                          '(0, 1, 2) = {0.05 0.0476190476190476 '
518                                       '0.0454545454545455 0.0434782608695652}'])
519
520        # Delete kernel breakpoint on add_half_kernel
521        self.try_command('breakpoint del 3',
522                         ['1 breakpoints deleted'])
523
524        self.try_command('process continue',
525                         ['exited with status = 0'])
526