* lib/gdb.exp (gdb_test): Between $pattern and $prompt, expect
[binutils-gdb.git] / gdb / testsuite / gdb.base / printcmds.exp
1 # Copyright (C) 1992, 1994 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
16
17 # Please email any bugs, comments, and/or additions to this file to:
18 # bug-gdb@prep.ai.mit.edu
19
20 # This file was written by Fred Fish. (fnf@cygnus.com)
21
22 if $tracelevel then {
23 strace $tracelevel
24 }
25
26 set prms_id 0
27 set bug_id 0
28
29 set binfile "printcmds"
30 set srcfile $binfile.c
31
32 if ![file exists $objdir/$subdir/$binfile] then {
33 perror "$objdir/$subdir/$binfile does not exist"
34 continue
35 }
36
37 # Set the current language to C. This counts as a test. If it
38 # fails, then we skip the other tests.
39
40 proc set_lang_c {} {
41 global prompt
42
43 send "set language c\n"
44 expect {
45 -re ".*$prompt $" {}
46 timeout { fail "set language c (timeout)" ; return 0 }
47 }
48
49 send "show language\n"
50 expect {
51 -re ".* source language is \"c\".*$prompt $" {
52 pass "set language to \"c\""
53 return 1
54 }
55 -re ".*$prompt $" {
56 fail "setting language to \"c\""
57 return 0
58 }
59 timeout {
60 fail "can't show language (timeout)"
61 return 0
62 }
63 }
64 }
65
66 proc test_integer_literals_accepted {} {
67 global prompt
68
69 # Test various decimal values.
70
71 test_print_accept "p 123" "123"
72 test_print_accept "p -123" "-123"
73 test_print_accept "p/d 123" "123"
74
75 # Test various octal values.
76
77 test_print_accept "p 0123" "83"
78 test_print_accept "p 00123" "83"
79 test_print_accept "p -0123" "-83"
80 test_print_accept "p/o 0123" "0123"
81
82 # Test various hexadecimal values.
83
84 test_print_accept "p 0x123" "291"
85 test_print_accept "p -0x123" "-291"
86 test_print_accept "p 0x0123" "291"
87 test_print_accept "p -0x0123" "-291"
88 test_print_accept "p 0xABCDEF" "11259375"
89 test_print_accept "p 0xabcdef" "11259375"
90 test_print_accept "p 0xAbCdEf" "11259375"
91 test_print_accept "p/x 0x123" "0x123"
92 }
93
94 proc test_character_literals_accepted {} {
95 global prompt
96
97 test_print_accept "p 'a'" "97 'a'"
98 test_print_accept "p/c 'a'" "97 'a'"
99 test_print_accept "p/x 'a'" "0x61"
100 test_print_accept "p/d 'a'" "97"
101 test_print_accept "p/t 'a'" "1100001"
102 test_print_accept "p '\\141'" "97 'a'"
103 test_print_accept "p/x '\\377'" "0xff"
104 # Note "p '\''" => "= 39 '\''"
105 test_print_accept "p '''" "39 '\[\\'\]+'"
106 # Note "p '\\'" => "= 92 '\\'"
107 test_print_accept "p '\\\\'" "92 '\\\\\\\\'"
108 }
109
110 proc test_integer_literals_rejected {} {
111 global prompt
112
113 test_print_reject "p 0x"
114 test_print_reject "p ''"
115 test_print_reject "p '\\'"
116
117 # Note that this turns into "p '\\\'" at gdb's input.
118 test_print_reject "p '\\\\\\'"
119
120 # Test various decimal values.
121
122 test_print_reject "p DEADBEEF"
123
124 # Gdb currently fails this test for all configurations. The C
125 # lexer thinks that 123DEADBEEF is a floating point number, but
126 # then fails to notice that atof() only eats the 123 part.
127 # FIXME: This should be put into PRMS.
128
129 setup_xfail "*-*-*"
130 test_print_reject "p 123DEADBEEF"
131
132 # Test various octal values.
133
134 test_print_reject "p 09"
135 test_print_reject "p 079"
136
137 # Test various hexadecimal values.
138
139 test_print_reject "p 0xG"
140 test_print_reject "p 0xAG"
141 }
142
143 proc test_print_all_chars {} {
144 global prompt
145
146 test_print_accept "p ctable1\[0\]" "0 '\\\\000'"
147 test_print_accept "p ctable1\[1\]" "1 '\\\\001'"
148 test_print_accept "p ctable1\[2\]" "2 '\\\\002'"
149 test_print_accept "p ctable1\[3\]" "3 '\\\\003'"
150 test_print_accept "p ctable1\[4\]" "4 '\\\\004'"
151 test_print_accept "p ctable1\[5\]" "5 '\\\\005'"
152 test_print_accept "p ctable1\[6\]" "6 '\\\\006'"
153 test_print_accept "p ctable1\[7\]" "7 '\\\\a'"
154 test_print_accept "p ctable1\[8\]" "8 '\\\\b'"
155 test_print_accept "p ctable1\[9\]" "9 '\\\\t'"
156 test_print_accept "p ctable1\[10\]" "10 '\\\\n'"
157 test_print_accept "p ctable1\[11\]" "11 '\\\\013'"
158 test_print_accept "p ctable1\[12\]" "12 '\\\\f'"
159 test_print_accept "p ctable1\[13\]" "13 '\\\\r'"
160 test_print_accept "p ctable1\[14\]" "14 '\\\\016'"
161 test_print_accept "p ctable1\[15\]" "15 '\\\\017'"
162 test_print_accept "p ctable1\[16\]" "16 '\\\\020'"
163 test_print_accept "p ctable1\[17\]" "17 '\\\\021'"
164 test_print_accept "p ctable1\[18\]" "18 '\\\\022'"
165 test_print_accept "p ctable1\[19\]" "19 '\\\\023'"
166 test_print_accept "p ctable1\[20\]" "20 '\\\\024'"
167 test_print_accept "p ctable1\[21\]" "21 '\\\\025'"
168 test_print_accept "p ctable1\[22\]" "22 '\\\\026'"
169 test_print_accept "p ctable1\[23\]" "23 '\\\\027'"
170 test_print_accept "p ctable1\[24\]" "24 '\\\\030'"
171 test_print_accept "p ctable1\[25\]" "25 '\\\\031'"
172 test_print_accept "p ctable1\[26\]" "26 '\\\\032'"
173 test_print_accept "p ctable1\[27\]" "27 '\\\\e'"
174 test_print_accept "p ctable1\[28\]" "28 '\\\\034'"
175 test_print_accept "p ctable1\[29\]" "29 '\\\\035'"
176 test_print_accept "p ctable1\[30\]" "30 '\\\\036'"
177 test_print_accept "p ctable1\[31\]" "31 '\\\\037'"
178 test_print_accept "p ctable1\[32\]" "32 ' '"
179 test_print_accept "p ctable1\[33\]" "33 '!'"
180 test_print_accept "p ctable1\[34\]" "34 '\"'"
181 test_print_accept "p ctable1\[35\]" "35 '#'"
182 test_print_accept "p ctable1\[36\]" "36 '\\\$'"
183 test_print_accept "p ctable1\[37\]" "37 '%'"
184 test_print_accept "p ctable1\[38\]" "38 '&'"
185 test_print_accept "p ctable1\[39\]" "39 '\\\\''"
186 test_print_accept "p ctable1\[40\]" "40 '\[(\]+'"
187 test_print_accept "p ctable1\[41\]" "41 '\[)\]+'"
188 test_print_accept "p ctable1\[42\]" "42 '\[*\]+'"
189 test_print_accept "p ctable1\[43\]" "43 '\[+\]+'"
190 test_print_accept "p ctable1\[44\]" "44 ','"
191 test_print_accept "p ctable1\[45\]" "45 '-'"
192 test_print_accept "p ctable1\[46\]" "46 '.'"
193 test_print_accept "p ctable1\[47\]" "47 '/'"
194 test_print_accept "p ctable1\[48\]" "48 '0'"
195 test_print_accept "p ctable1\[49\]" "49 '1'"
196 test_print_accept "p ctable1\[50\]" "50 '2'"
197 test_print_accept "p ctable1\[51\]" "51 '3'"
198 test_print_accept "p ctable1\[52\]" "52 '4'"
199 test_print_accept "p ctable1\[53\]" "53 '5'"
200 test_print_accept "p ctable1\[54\]" "54 '6'"
201 test_print_accept "p ctable1\[55\]" "55 '7'"
202 test_print_accept "p ctable1\[56\]" "56 '8'"
203 test_print_accept "p ctable1\[57\]" "57 '9'"
204 test_print_accept "p ctable1\[58\]" "58 ':'"
205 test_print_accept "p ctable1\[59\]" "59 ';'"
206 test_print_accept "p ctable1\[60\]" "60 '<'"
207 test_print_accept "p ctable1\[61\]" "61 '='"
208 test_print_accept "p ctable1\[62\]" "62 '>'"
209 test_print_accept "p ctable1\[63\]" "63 '\\?'"
210 test_print_accept "p ctable1\[64\]" "64 '@'"
211 test_print_accept "p ctable1\[65\]" "65 'A'"
212 test_print_accept "p ctable1\[66\]" "66 'B'"
213 test_print_accept "p ctable1\[67\]" "67 'C'"
214 test_print_accept "p ctable1\[68\]" "68 'D'"
215 test_print_accept "p ctable1\[69\]" "69 'E'"
216 test_print_accept "p ctable1\[70\]" "70 'F'"
217 test_print_accept "p ctable1\[71\]" "71 'G'"
218 test_print_accept "p ctable1\[72\]" "72 'H'"
219 test_print_accept "p ctable1\[73\]" "73 'I'"
220 test_print_accept "p ctable1\[74\]" "74 'J'"
221 test_print_accept "p ctable1\[75\]" "75 'K'"
222 test_print_accept "p ctable1\[76\]" "76 'L'"
223 test_print_accept "p ctable1\[77\]" "77 'M'"
224 test_print_accept "p ctable1\[78\]" "78 'N'"
225 test_print_accept "p ctable1\[79\]" "79 'O'"
226 test_print_accept "p ctable1\[80\]" "80 'P'"
227 test_print_accept "p ctable1\[81\]" "81 'Q'"
228 test_print_accept "p ctable1\[82\]" "82 'R'"
229 test_print_accept "p ctable1\[83\]" "83 'S'"
230 test_print_accept "p ctable1\[84\]" "84 'T'"
231 test_print_accept "p ctable1\[85\]" "85 'U'"
232 test_print_accept "p ctable1\[86\]" "86 'V'"
233 test_print_accept "p ctable1\[87\]" "87 'W'"
234 test_print_accept "p ctable1\[88\]" "88 'X'"
235 test_print_accept "p ctable1\[89\]" "89 'Y'"
236 test_print_accept "p ctable1\[90\]" "90 'Z'"
237 test_print_accept "p ctable1\[91\]" "91 '\\\['"
238 test_print_accept "p ctable1\[92\]" "92 '\\\\\\\\'"
239 test_print_accept "p ctable1\[93\]" "93 '\\\]'"
240 test_print_accept "p ctable1\[94\]" "94 '\\^'"
241 test_print_accept "p ctable1\[95\]" "95 '_'"
242 test_print_accept "p ctable1\[96\]" "96 '`'"
243 test_print_accept "p ctable1\[97\]" "97 'a'"
244 test_print_accept "p ctable1\[98\]" "98 'b'"
245 test_print_accept "p ctable1\[99\]" "99 'c'"
246 test_print_accept "p ctable1\[100\]" "100 'd'"
247 test_print_accept "p ctable1\[101\]" "101 'e'"
248 test_print_accept "p ctable1\[102\]" "102 'f'"
249 test_print_accept "p ctable1\[103\]" "103 'g'"
250 test_print_accept "p ctable1\[104\]" "104 'h'"
251 test_print_accept "p ctable1\[105\]" "105 'i'"
252 test_print_accept "p ctable1\[106\]" "106 'j'"
253 test_print_accept "p ctable1\[107\]" "107 'k'"
254 test_print_accept "p ctable1\[108\]" "108 'l'"
255 test_print_accept "p ctable1\[109\]" "109 'm'"
256 test_print_accept "p ctable1\[110\]" "110 'n'"
257 test_print_accept "p ctable1\[111\]" "111 'o'"
258 test_print_accept "p ctable1\[112\]" "112 'p'"
259 test_print_accept "p ctable1\[113\]" "113 'q'"
260 test_print_accept "p ctable1\[114\]" "114 'r'"
261 test_print_accept "p ctable1\[115\]" "115 's'"
262 test_print_accept "p ctable1\[116\]" "116 't'"
263 test_print_accept "p ctable1\[117\]" "117 'u'"
264 test_print_accept "p ctable1\[118\]" "118 'v'"
265 test_print_accept "p ctable1\[119\]" "119 'w'"
266 test_print_accept "p ctable1\[120\]" "120 'x'"
267 test_print_accept "p ctable1\[121\]" "121 'y'"
268 test_print_accept "p ctable1\[122\]" "122 'z'"
269 test_print_accept "p ctable1\[123\]" "123 '\[{\]+'"
270 test_print_accept "p ctable1\[124\]" "124 '\[|\]+'"
271 test_print_accept "p ctable1\[125\]" "125 '\[}\]+'"
272 test_print_accept "p ctable1\[126\]" "126 '\[~\]'"
273 test_print_accept "p ctable1\[127\]" "127 '\\\\177'"
274 test_print_accept "p ctable1\[128\]" "128 '\\\\200'"
275 test_print_accept "p ctable1\[129\]" "129 '\\\\201'"
276 test_print_accept "p ctable1\[130\]" "130 '\\\\202'"
277 test_print_accept "p ctable1\[131\]" "131 '\\\\203'"
278 test_print_accept "p ctable1\[132\]" "132 '\\\\204'"
279 test_print_accept "p ctable1\[133\]" "133 '\\\\205'"
280 test_print_accept "p ctable1\[134\]" "134 '\\\\206'"
281 test_print_accept "p ctable1\[135\]" "135 '\\\\207'"
282 test_print_accept "p ctable1\[136\]" "136 '\\\\210'"
283 test_print_accept "p ctable1\[137\]" "137 '\\\\211'"
284 test_print_accept "p ctable1\[138\]" "138 '\\\\212'"
285 test_print_accept "p ctable1\[139\]" "139 '\\\\213'"
286 test_print_accept "p ctable1\[140\]" "140 '\\\\214'"
287 test_print_accept "p ctable1\[141\]" "141 '\\\\215'"
288 test_print_accept "p ctable1\[142\]" "142 '\\\\216'"
289 test_print_accept "p ctable1\[143\]" "143 '\\\\217'"
290 test_print_accept "p ctable1\[144\]" "144 '\\\\220'"
291 test_print_accept "p ctable1\[145\]" "145 '\\\\221'"
292 test_print_accept "p ctable1\[146\]" "146 '\\\\222'"
293 test_print_accept "p ctable1\[147\]" "147 '\\\\223'"
294 test_print_accept "p ctable1\[148\]" "148 '\\\\224'"
295 test_print_accept "p ctable1\[149\]" "149 '\\\\225'"
296 test_print_accept "p ctable1\[150\]" "150 '\\\\226'"
297 test_print_accept "p ctable1\[151\]" "151 '\\\\227'"
298 test_print_accept "p ctable1\[152\]" "152 '\\\\230'"
299 test_print_accept "p ctable1\[153\]" "153 '\\\\231'"
300 test_print_accept "p ctable1\[154\]" "154 '\\\\232'"
301 test_print_accept "p ctable1\[155\]" "155 '\\\\233'"
302 test_print_accept "p ctable1\[156\]" "156 '\\\\234'"
303 test_print_accept "p ctable1\[157\]" "157 '\\\\235'"
304 test_print_accept "p ctable1\[158\]" "158 '\\\\236'"
305 test_print_accept "p ctable1\[159\]" "159 '\\\\237'"
306 test_print_accept "p ctable1\[160\]" "160 '\\\\240'"
307 test_print_accept "p ctable1\[161\]" "161 '\\\\241'"
308 test_print_accept "p ctable1\[162\]" "162 '\\\\242'"
309 test_print_accept "p ctable1\[163\]" "163 '\\\\243'"
310 test_print_accept "p ctable1\[164\]" "164 '\\\\244'"
311 test_print_accept "p ctable1\[165\]" "165 '\\\\245'"
312 test_print_accept "p ctable1\[166\]" "166 '\\\\246'"
313 test_print_accept "p ctable1\[167\]" "167 '\\\\247'"
314 test_print_accept "p ctable1\[168\]" "168 '\\\\250'"
315 test_print_accept "p ctable1\[169\]" "169 '\\\\251'"
316 test_print_accept "p ctable1\[170\]" "170 '\\\\252'"
317 test_print_accept "p ctable1\[171\]" "171 '\\\\253'"
318 test_print_accept "p ctable1\[172\]" "172 '\\\\254'"
319 test_print_accept "p ctable1\[173\]" "173 '\\\\255'"
320 test_print_accept "p ctable1\[174\]" "174 '\\\\256'"
321 test_print_accept "p ctable1\[175\]" "175 '\\\\257'"
322 test_print_accept "p ctable1\[176\]" "176 '\\\\260'"
323 test_print_accept "p ctable1\[177\]" "177 '\\\\261'"
324 test_print_accept "p ctable1\[178\]" "178 '\\\\262'"
325 test_print_accept "p ctable1\[179\]" "179 '\\\\263'"
326 test_print_accept "p ctable1\[180\]" "180 '\\\\264'"
327 test_print_accept "p ctable1\[181\]" "181 '\\\\265'"
328 test_print_accept "p ctable1\[182\]" "182 '\\\\266'"
329 test_print_accept "p ctable1\[183\]" "183 '\\\\267'"
330 test_print_accept "p ctable1\[184\]" "184 '\\\\270'"
331 test_print_accept "p ctable1\[185\]" "185 '\\\\271'"
332 test_print_accept "p ctable1\[186\]" "186 '\\\\272'"
333 test_print_accept "p ctable1\[187\]" "187 '\\\\273'"
334 test_print_accept "p ctable1\[188\]" "188 '\\\\274'"
335 test_print_accept "p ctable1\[189\]" "189 '\\\\275'"
336 test_print_accept "p ctable1\[190\]" "190 '\\\\276'"
337 test_print_accept "p ctable1\[191\]" "191 '\\\\277'"
338 test_print_accept "p ctable1\[192\]" "192 '\\\\300'"
339 test_print_accept "p ctable1\[193\]" "193 '\\\\301'"
340 test_print_accept "p ctable1\[194\]" "194 '\\\\302'"
341 test_print_accept "p ctable1\[195\]" "195 '\\\\303'"
342 test_print_accept "p ctable1\[196\]" "196 '\\\\304'"
343 test_print_accept "p ctable1\[197\]" "197 '\\\\305'"
344 test_print_accept "p ctable1\[198\]" "198 '\\\\306'"
345 test_print_accept "p ctable1\[199\]" "199 '\\\\307'"
346 test_print_accept "p ctable1\[200\]" "200 '\\\\310'"
347 test_print_accept "p ctable1\[201\]" "201 '\\\\311'"
348 test_print_accept "p ctable1\[202\]" "202 '\\\\312'"
349 test_print_accept "p ctable1\[203\]" "203 '\\\\313'"
350 test_print_accept "p ctable1\[204\]" "204 '\\\\314'"
351 test_print_accept "p ctable1\[205\]" "205 '\\\\315'"
352 test_print_accept "p ctable1\[206\]" "206 '\\\\316'"
353 test_print_accept "p ctable1\[207\]" "207 '\\\\317'"
354 test_print_accept "p ctable1\[208\]" "208 '\\\\320'"
355 test_print_accept "p ctable1\[209\]" "209 '\\\\321'"
356 test_print_accept "p ctable1\[210\]" "210 '\\\\322'"
357 test_print_accept "p ctable1\[211\]" "211 '\\\\323'"
358 test_print_accept "p ctable1\[212\]" "212 '\\\\324'"
359 test_print_accept "p ctable1\[213\]" "213 '\\\\325'"
360 test_print_accept "p ctable1\[214\]" "214 '\\\\326'"
361 test_print_accept "p ctable1\[215\]" "215 '\\\\327'"
362 test_print_accept "p ctable1\[216\]" "216 '\\\\330'"
363 test_print_accept "p ctable1\[217\]" "217 '\\\\331'"
364 test_print_accept "p ctable1\[218\]" "218 '\\\\332'"
365 test_print_accept "p ctable1\[219\]" "219 '\\\\333'"
366 test_print_accept "p ctable1\[220\]" "220 '\\\\334'"
367 test_print_accept "p ctable1\[221\]" "221 '\\\\335'"
368 test_print_accept "p ctable1\[222\]" "222 '\\\\336'"
369 test_print_accept "p ctable1\[223\]" "223 '\\\\337'"
370 test_print_accept "p ctable1\[224\]" "224 '\\\\340'"
371 test_print_accept "p ctable1\[225\]" "225 '\\\\341'"
372 test_print_accept "p ctable1\[226\]" "226 '\\\\342'"
373 test_print_accept "p ctable1\[227\]" "227 '\\\\343'"
374 test_print_accept "p ctable1\[228\]" "228 '\\\\344'"
375 test_print_accept "p ctable1\[229\]" "229 '\\\\345'"
376 test_print_accept "p ctable1\[230\]" "230 '\\\\346'"
377 test_print_accept "p ctable1\[231\]" "231 '\\\\347'"
378 test_print_accept "p ctable1\[232\]" "232 '\\\\350'"
379 test_print_accept "p ctable1\[233\]" "233 '\\\\351'"
380 test_print_accept "p ctable1\[234\]" "234 '\\\\352'"
381 test_print_accept "p ctable1\[235\]" "235 '\\\\353'"
382 test_print_accept "p ctable1\[236\]" "236 '\\\\354'"
383 test_print_accept "p ctable1\[237\]" "237 '\\\\355'"
384 test_print_accept "p ctable1\[238\]" "238 '\\\\356'"
385 test_print_accept "p ctable1\[239\]" "239 '\\\\357'"
386 test_print_accept "p ctable1\[240\]" "240 '\\\\360'"
387 test_print_accept "p ctable1\[241\]" "241 '\\\\361'"
388 test_print_accept "p ctable1\[242\]" "242 '\\\\362'"
389 test_print_accept "p ctable1\[243\]" "243 '\\\\363'"
390 test_print_accept "p ctable1\[244\]" "244 '\\\\364'"
391 test_print_accept "p ctable1\[245\]" "245 '\\\\365'"
392 test_print_accept "p ctable1\[246\]" "246 '\\\\366'"
393 test_print_accept "p ctable1\[247\]" "247 '\\\\367'"
394 test_print_accept "p ctable1\[248\]" "248 '\\\\370'"
395 test_print_accept "p ctable1\[249\]" "249 '\\\\371'"
396 test_print_accept "p ctable1\[250\]" "250 '\\\\372'"
397 test_print_accept "p ctable1\[251\]" "251 '\\\\373'"
398 test_print_accept "p ctable1\[252\]" "252 '\\\\374'"
399 test_print_accept "p ctable1\[253\]" "253 '\\\\375'"
400 test_print_accept "p ctable1\[254\]" "254 '\\\\376'"
401 test_print_accept "p ctable1\[255\]" "255 '\\\\377'"
402 }
403
404 # Test interaction of the number of print elements to print and the
405 # repeat count, set to the default of 10.
406
407 proc test_print_repeats_10 {} {
408 global prompt
409
410 send "set print elements 1\n" ; expect -re "$prompt $"
411 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
412 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
413 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
414 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
415 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
416 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
417 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
418 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
419 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
420 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
421 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
422 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
423 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
424 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
425 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
426 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"a\"..."
427
428 send "set print elements 2\n" ; expect -re "$prompt $"
429 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aX\"..."
430 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
431 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
432 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
433 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
434 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
435 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
436 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
437 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
438 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
439 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
440 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
441 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
442 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
443 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
444 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\"..."
445
446 send "set print elements 3\n" ; expect -re "$prompt $"
447 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXX\"..."
448 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaX\"..."
449 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
450 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
451 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
452 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
453 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
454 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
455 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
456 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
457 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
458 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
459 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
460 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
461 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
462 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\"..."
463
464 send "set print elements 4\n" ; expect -re "$prompt $"
465 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXX\"..."
466 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXX\"..."
467 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaX\"..."
468 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
469 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
470 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
471 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
472 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
473 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
474 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
475 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
476 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
477 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
478 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
479 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
480 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\"..."
481
482 send "set print elements 5\n" ; expect -re "$prompt $"
483 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXX\"..."
484 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXX\"..."
485 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXX\"..."
486 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaX\"..."
487 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
488 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
489 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
490 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
491 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
492 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
493 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
494 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
495 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
496 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
497 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
498 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\"..."
499
500 send "set print elements 6\n" ; expect -re "$prompt $"
501 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXX\"..."
502 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXX\"..."
503 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXX\"..."
504 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXX\"..."
505 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaX\"..."
506 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
507 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
508 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
509 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
510 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
511 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
512 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
513 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
514 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
515 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
516 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaa\"..."
517
518 send "set print elements 7\n" ; expect -re "$prompt $"
519 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXXX\"..."
520 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXX\"..."
521 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXX\"..."
522 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXX\"..."
523 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXX\"..."
524 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaX\"..."
525 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
526 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
527 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
528 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
529 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
530 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
531 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
532 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
533 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
534 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaa\"..."
535
536 send "set print elements 8\n" ; expect -re "$prompt $"
537 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXXXX\"..."
538 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXXX\"..."
539 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXX\"..."
540 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXX\"..."
541 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXX\"..."
542 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXX\"..."
543 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaX\"..."
544 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
545 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
546 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
547 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
548 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
549 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
550 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
551 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
552 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaa\"..."
553
554 send "set print elements 9\n" ; expect -re "$prompt $"
555 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXXXXX\"..."
556 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXXXX\"..."
557 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXXX\"..."
558 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXX\"..."
559 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXX\"..."
560 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXX\"..."
561 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXX\"..."
562 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaX\"..."
563 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
564 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
565 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
566 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
567 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
568 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
569 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
570 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaa\"..."
571
572 send "set print elements 10\n" ; expect -re "$prompt $"
573 test_print_accept "p &ctable2\[0*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXXXXXX\"..."
574 test_print_accept "p &ctable2\[1*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXXXXX\"..."
575 test_print_accept "p &ctable2\[2*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXXXX\"..."
576 test_print_accept "p &ctable2\[3*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXXX\"..."
577 test_print_accept "p &ctable2\[4*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXX\"..."
578 test_print_accept "p &ctable2\[5*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXX\"..."
579 test_print_accept "p &ctable2\[6*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXX\"..."
580 test_print_accept "p &ctable2\[7*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXX\"..."
581 test_print_accept "p &ctable2\[8*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaX\"..."
582 test_print_accept "p &ctable2\[9*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
583 test_print_accept "p &ctable2\[10*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
584 test_print_accept "p &ctable2\[11*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
585 test_print_accept "p &ctable2\[12*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
586 test_print_accept "p &ctable2\[13*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
587 test_print_accept "p &ctable2\[14*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
588 test_print_accept "p &ctable2\[15*16\]" "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaa\"..."
589
590 send "set print elements 11\n" ; expect -re "$prompt $"
591 test_print_accept "p &ctable2\[0*16\]" \
592 "\[(\]+unsigned char \[*\]+\[)\]+ \"aXXXXXXXXXX\"..."
593 test_print_accept "p &ctable2\[1*16\]" \
594 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXXXXXX\"..."
595 test_print_accept "p &ctable2\[2*16\]" \
596 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXXXXX\"..."
597 test_print_accept "p &ctable2\[3*16\]" \
598 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXXXX\"..."
599 test_print_accept "p &ctable2\[4*16\]" \
600 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXXX\"..."
601 test_print_accept "p &ctable2\[5*16\]" \
602 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXX\"..."
603 test_print_accept "p &ctable2\[6*16\]" \
604 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXX\"..."
605 test_print_accept "p &ctable2\[7*16\]" \
606 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXX\"..."
607 test_print_accept "p &ctable2\[8*16\]" \
608 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXX\"..."
609 test_print_accept "p &ctable2\[9*16\]" \
610 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaX\"..."
611 test_print_accept "p &ctable2\[10*16\]" \
612 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
613 test_print_accept "p &ctable2\[11*16\]" \
614 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
615 test_print_accept "p &ctable2\[12*16\]" \
616 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
617 test_print_accept "p &ctable2\[13*16\]" \
618 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
619 test_print_accept "p &ctable2\[14*16\]" \
620 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
621 test_print_accept "p &ctable2\[15*16\]" \
622 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>..."
623
624 send "set print elements 12\n" ; expect -re "$prompt $"
625 test_print_accept "p &ctable2\[0*16\]" \
626 "\[(\]+unsigned char \[*\]+\[)\]+ \"a\", 'X' <repeats 11 times>..."
627 test_print_accept "p &ctable2\[1*16\]" \
628 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaXXXXXXXXXX\"..."
629 test_print_accept "p &ctable2\[2*16\]" \
630 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXXXXXX\"..."
631 test_print_accept "p &ctable2\[3*16\]" \
632 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXXXXX\"..."
633 test_print_accept "p &ctable2\[4*16\]" \
634 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXXXX\"..."
635 test_print_accept "p &ctable2\[5*16\]" \
636 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXXX\"..."
637 test_print_accept "p &ctable2\[6*16\]" \
638 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXXX\"..."
639 test_print_accept "p &ctable2\[7*16\]" \
640 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXXX\"..."
641 test_print_accept "p &ctable2\[8*16\]" \
642 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXXX\"..."
643 test_print_accept "p &ctable2\[9*16\]" \
644 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaXX\"..."
645 test_print_accept "p &ctable2\[10*16\]" \
646 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>, \"X\"..."
647 test_print_accept "p &ctable2\[11*16\]" \
648 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>..."
649 test_print_accept "p &ctable2\[12*16\]" \
650 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>..."
651 test_print_accept "p &ctable2\[13*16\]" \
652 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>..."
653 test_print_accept "p &ctable2\[14*16\]" \
654 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>..."
655 test_print_accept "p &ctable2\[15*16\]" \
656 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>..."
657
658 send "set print elements 13\n" ; expect -re "$prompt $"
659 test_print_accept "p &ctable2\[0*16\]" \
660 "\[(\]+unsigned char \[*\]+\[)\]+ \"a\", 'X' <repeats 12 times>..."
661 test_print_accept "p &ctable2\[1*16\]" \
662 "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\", 'X' <repeats 11 times>..."
663 test_print_accept "p &ctable2\[2*16\]" \
664 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaXXXXXXXXXX\"..."
665 test_print_accept "p &ctable2\[3*16\]" \
666 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXXXXXX\"..."
667 test_print_accept "p &ctable2\[4*16\]" \
668 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXXXXX\"..."
669 test_print_accept "p &ctable2\[5*16\]" \
670 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXXXX\"..."
671 test_print_accept "p &ctable2\[6*16\]" \
672 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXXXX\"..."
673 test_print_accept "p &ctable2\[7*16\]" \
674 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXXXX\"..."
675 test_print_accept "p &ctable2\[8*16\]" \
676 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXXXX\"..."
677 test_print_accept "p &ctable2\[9*16\]" \
678 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaXXX\"..."
679 test_print_accept "p &ctable2\[10*16\]" \
680 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>, \"XX\"..."
681 test_print_accept "p &ctable2\[11*16\]" \
682 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>, \"X\"..."
683 test_print_accept "p &ctable2\[12*16\]" \
684 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>..."
685 test_print_accept "p &ctable2\[13*16\]" \
686 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>..."
687 test_print_accept "p &ctable2\[14*16\]" \
688 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>..."
689 test_print_accept "p &ctable2\[15*16\]" \
690 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>..."
691
692 send "set print elements 14\n" ; expect -re "$prompt $"
693 test_print_accept "p &ctable2\[0*16\]" \
694 "\[(\]+unsigned char \[*\]+\[)\]+ \"a\", 'X' <repeats 13 times>..."
695 test_print_accept "p &ctable2\[1*16\]" \
696 "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\", 'X' <repeats 12 times>..."
697 test_print_accept "p &ctable2\[2*16\]" \
698 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\", 'X' <repeats 11 times>..."
699 test_print_accept "p &ctable2\[3*16\]" \
700 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaXXXXXXXXXX\"..."
701 test_print_accept "p &ctable2\[4*16\]" \
702 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXXXXXX\"..."
703 test_print_accept "p &ctable2\[5*16\]" \
704 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXXXXX\"..."
705 test_print_accept "p &ctable2\[6*16\]" \
706 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXXXXX\"..."
707 test_print_accept "p &ctable2\[7*16\]" \
708 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXXXXX\"..."
709 test_print_accept "p &ctable2\[8*16\]" \
710 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXXXXX\"..."
711 test_print_accept "p &ctable2\[9*16\]" \
712 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaXXXX\"..."
713 test_print_accept "p &ctable2\[10*16\]" \
714 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>, \"XXX\"..."
715 test_print_accept "p &ctable2\[11*16\]" \
716 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>, \"XX\"..."
717 test_print_accept "p &ctable2\[12*16\]" \
718 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>, \"X\"..."
719 test_print_accept "p &ctable2\[13*16\]" \
720 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 14 times>..."
721 test_print_accept "p &ctable2\[14*16\]" \
722 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 14 times>..."
723 test_print_accept "p &ctable2\[15*16\]" \
724 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 14 times>..."
725
726 send "set print elements 15\n" ; expect -re "$prompt $"
727 test_print_accept "p &ctable2\[0*16\]" \
728 "\[(\]+unsigned char \[*\]+\[)\]+ \"a\", 'X' <repeats 14 times>..."
729 test_print_accept "p &ctable2\[1*16\]" \
730 "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\", 'X' <repeats 13 times>..."
731 test_print_accept "p &ctable2\[2*16\]" \
732 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\", 'X' <repeats 12 times>..."
733 test_print_accept "p &ctable2\[3*16\]" \
734 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\", 'X' <repeats 11 times>..."
735 test_print_accept "p &ctable2\[4*16\]" \
736 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaXXXXXXXXXX\"..."
737 test_print_accept "p &ctable2\[5*16\]" \
738 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXXXXXX\"..."
739 test_print_accept "p &ctable2\[6*16\]" \
740 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXXXXXX\"..."
741 test_print_accept "p &ctable2\[7*16\]" \
742 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXXXXXX\"..."
743 test_print_accept "p &ctable2\[8*16\]" \
744 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXXXXXX\"..."
745 test_print_accept "p &ctable2\[9*16\]" \
746 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaXXXXX\"..."
747 test_print_accept "p &ctable2\[10*16\]" \
748 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>, \"XXXX\"..."
749 test_print_accept "p &ctable2\[11*16\]" \
750 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>, \"XXX\"..."
751 test_print_accept "p &ctable2\[12*16\]" \
752 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>, \"XX\"..."
753 test_print_accept "p &ctable2\[13*16\]" \
754 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 14 times>, \"X\"..."
755 test_print_accept "p &ctable2\[14*16\]" \
756 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 15 times>..."
757 test_print_accept "p &ctable2\[15*16\]" \
758 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 15 times>..."
759
760 send "set print elements 16\n" ; expect -re "$prompt $"
761 test_print_accept "p &ctable2\[0*16\]" \
762 "\[(\]+unsigned char \[*\]+\[)\]+ \"a\", 'X' <repeats 15 times>..."
763 test_print_accept "p &ctable2\[1*16\]" \
764 "\[(\]+unsigned char \[*\]+\[)\]+ \"aa\", 'X' <repeats 14 times>..."
765 test_print_accept "p &ctable2\[2*16\]" \
766 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaa\", 'X' <repeats 13 times>..."
767 test_print_accept "p &ctable2\[3*16\]" \
768 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaa\", 'X' <repeats 12 times>..."
769 test_print_accept "p &ctable2\[4*16\]" \
770 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaa\", 'X' <repeats 11 times>..."
771 test_print_accept "p &ctable2\[5*16\]" \
772 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaXXXXXXXXXX\"..."
773 test_print_accept "p &ctable2\[6*16\]" \
774 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaXXXXXXXXX\"..."
775 test_print_accept "p &ctable2\[7*16\]" \
776 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaXXXXXXXX\"..."
777 test_print_accept "p &ctable2\[8*16\]" \
778 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaXXXXXXX\"..."
779 test_print_accept "p &ctable2\[9*16\]" \
780 "\[(\]+unsigned char \[*\]+\[)\]+ \"aaaaaaaaaaXXXXXX\"..."
781 test_print_accept "p &ctable2\[10*16\]" \
782 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 11 times>, \"XXXXX\"..."
783 test_print_accept "p &ctable2\[11*16\]" \
784 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 12 times>, \"XXXX\"..."
785 test_print_accept "p &ctable2\[12*16\]" \
786 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 13 times>, \"XXX\"..."
787 test_print_accept "p &ctable2\[13*16\]" \
788 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 14 times>, \"XX\"..."
789 test_print_accept "p &ctable2\[14*16\]" \
790 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 15 times>, \"X\"..."
791 test_print_accept "p &ctable2\[15*16\]" \
792 "\[(\]+unsigned char \[*\]+\[)\]+ 'a' <repeats 16 times>"
793 }
794
795 proc test_print_strings {} {
796 global prompt
797
798 # We accept "(unsigned char *) " before the string. char vs. unsigned char
799 # is already tested elsewhere.
800
801 # Test that setting print elements unlimited doesn't completely suppress
802 # printing; this was a bug in older gdb's.
803 send "set print elements 0\n" ; expect -re "$prompt $"
804 gdb_test "p teststring" \
805 " = (.unsigned char .. )?\"teststring contents\""
806 send "set print elements 1\n" ; expect -re "$prompt $"
807 gdb_test "p teststring" \
808 " = (.unsigned char .. )?\"t\"\\.\\.\\."
809 send "set print elements 5\n" ; expect -re "$prompt $"
810 gdb_test "p teststring" \
811 " = (.unsigned char .. )?\"tests\"\\.\\.\\."
812 send "set print elements 19\n" ; expect -re "$prompt $"
813 gdb_test "p teststring" \
814 " = (.unsigned char .. )?\"teststring contents\""
815 send "set print elements 20\n" ; expect -re "$prompt $"
816 gdb_test "p teststring" \
817 " = (.unsigned char .. )?\"teststring contents\""
818
819 send "set print elements 8\n" ; expect -re "$prompt $"
820
821 test_print_accept "p &ctable1\[0\]" \
822 "\[(\]+unsigned char \[*\]+\[)\]+ \"\""
823 test_print_accept "p &ctable1\[1\]" \
824 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\001\\\\002\\\\003\\\\004\\\\005\\\\006\\\\a\\\\b\"..."
825 test_print_accept "p &ctable1\[1*8\]" \
826 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\b\\\\t\\\\n\\\\013\\\\f\\\\r\\\\016\\\\017\"..."
827 test_print_accept "p &ctable1\[2*8\]" \
828 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\020\\\\021\\\\022\\\\023\\\\024\\\\025\\\\026\\\\027\"..."
829 test_print_accept "p &ctable1\[3*8\]" \
830 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\030\\\\031\\\\032\\\\e\\\\034\\\\035\\\\036\\\\037\"..."
831 test_print_accept "p &ctable1\[4*8\]" \
832 "\[(\]+unsigned char \[*\]+\[)\]+ \" !\\\\\"#\\\$%&'\"..."
833 test_print_accept "p &ctable1\[5*8\]" \
834 "\[(\]+unsigned char \[*\]+\[)\]+ \"\[(\]+\[)\]+\[*\]+\\+,-./\"..."
835 test_print_accept "p &ctable1\[6*8\]" \
836 "\[(\]+unsigned char \[*\]+\[)\]+ \"01234567\"..."
837 test_print_accept "p &ctable1\[7*8\]" \
838 "\[(\]+unsigned char \[*\]+\[)\]+ \"89:;<=>\\?\"..."
839 test_print_accept "p &ctable1\[8*8\]" \
840 "\[(\]+unsigned char \[*\]+\[)\]+ \"@ABCDEFG\"..."
841 test_print_accept "p &ctable1\[9*8\]" \
842 "\[(\]+unsigned char \[*\]+\[)\]+ \"HIJKLMNO\"..."
843 test_print_accept "p &ctable1\[10*8\]" \
844 "\[(\]+unsigned char \[*\]+\[)\]+ \"PQRSTUVW\"..."
845 test_print_accept "p &ctable1\[11*8\]" \
846 "\[(\]+unsigned char \[*\]+\[)\]+ \"XYZ\\\[\\\\\\\\\\\]\\^_\"..."
847 test_print_accept "p &ctable1\[12*8\]" \
848 "\[(\]+unsigned char \[*\]+\[)\]+ \"`abcdefg\"..."
849 test_print_accept "p &ctable1\[13*8\]" \
850 "\[(\]+unsigned char \[*\]+\[)\]+ \"hijklmno\"..."
851 test_print_accept "p &ctable1\[14*8\]" \
852 "\[(\]+unsigned char \[*\]+\[)\]+ \"pqrstuvw\"..."
853 test_print_accept "p &ctable1\[15*8\]" \
854 "\[(\]+unsigned char \[*\]+\[)\]+ \"xyz\[{|}\]+\\~\\\\177\"..."
855 test_print_accept "p &ctable1\[16*8\]" \
856 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\200\\\\201\\\\202\\\\203\\\\204\\\\205\\\\206\\\\207\"..."
857 test_print_accept "p &ctable1\[17*8\]" \
858 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\210\\\\211\\\\212\\\\213\\\\214\\\\215\\\\216\\\\217\"..."
859 test_print_accept "p &ctable1\[18*8\]" \
860 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\220\\\\221\\\\222\\\\223\\\\224\\\\225\\\\226\\\\227\"..."
861 test_print_accept "p &ctable1\[19*8\]" \
862 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\230\\\\231\\\\232\\\\233\\\\234\\\\235\\\\236\\\\237\"..."
863 test_print_accept "p &ctable1\[20*8\]" \
864 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\240\\\\241\\\\242\\\\243\\\\244\\\\245\\\\246\\\\247\"..."
865 test_print_accept "p &ctable1\[21*8\]" \
866 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\250\\\\251\\\\252\\\\253\\\\254\\\\255\\\\256\\\\257\"..."
867 test_print_accept "p &ctable1\[22*8\]" \
868 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\260\\\\261\\\\262\\\\263\\\\264\\\\265\\\\266\\\\267\"..."
869 test_print_accept "p &ctable1\[23*8\]" \
870 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\270\\\\271\\\\272\\\\273\\\\274\\\\275\\\\276\\\\277\"..."
871 test_print_accept "p &ctable1\[24*8\]" \
872 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\300\\\\301\\\\302\\\\303\\\\304\\\\305\\\\306\\\\307\"..."
873 test_print_accept "p &ctable1\[25*8\]" \
874 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\310\\\\311\\\\312\\\\313\\\\314\\\\315\\\\316\\\\317\"..."
875 test_print_accept "p &ctable1\[26*8\]" \
876 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\320\\\\321\\\\322\\\\323\\\\324\\\\325\\\\326\\\\327\"..."
877 test_print_accept "p &ctable1\[27*8\]" \
878 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\330\\\\331\\\\332\\\\333\\\\334\\\\335\\\\336\\\\337\"..."
879 test_print_accept "p &ctable1\[28*8\]" \
880 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\340\\\\341\\\\342\\\\343\\\\344\\\\345\\\\346\\\\347\"..."
881 test_print_accept "p &ctable1\[29*8\]" \
882 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\350\\\\351\\\\352\\\\353\\\\354\\\\355\\\\356\\\\357\"..."
883 test_print_accept "p &ctable1\[30*8\]" \
884 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\360\\\\361\\\\362\\\\363\\\\364\\\\365\\\\366\\\\367\"..."
885 test_print_accept "p &ctable1\[31*8\]" \
886 "\[(\]+unsigned char \[*\]+\[)\]+ \"\\\\370\\\\371\\\\372\\\\373\\\\374\\\\375\\\\376\\\\377\"..."
887 }
888
889 proc test_print_int_arrays {} {
890 global prompt
891
892 send "set print elements 24\n" ; expect -re "$prompt $"
893
894 test_print_accept "p int1dim" \
895 "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}"
896 test_print_accept "p int2dim" \
897 "{{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}}"
898 test_print_accept "p int3dim" \
899 "{{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}"
900 test_print_accept "p int4dim" \
901 "{{{{0, 1}, {2, 3}, {4, 5}}, {{6, 7}, {8, 9}, {10, 11}}}}"
902 }
903
904 proc test_artificial_arrays {} {
905 test_print_accept {p int1dim[0]@2} "{0, 1}"
906 gdb_test {p int1dim[0]@2@3} "({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)"
907 test_print_accept {p/x (short [])0x12345678} \
908 "({0x1234, 0x5678}|{0x5678, 0x1234})"
909 }
910
911 proc test_print_char_arrays {} {
912 global prompt
913 global hex
914
915 send "set print elements 24\n" ; expect -re "$prompt $"
916 send "set print address on\n" ; expect -re "$prompt $"
917
918 test_print_accept "p arrays" \
919 "{array1 = \"abc\", array2 = \"d\", array3 = \"e\", array4 = \"fg\", array5 = \"hij\"}"
920
921 test_print_accept "p parrays" "\[(\]+struct some_arrays \[*\]+\[)\]+ $hex"
922 test_print_accept "p parrays->array1" "\"abc\""
923 test_print_accept "p &parrays->array1" "\[(\]+unsigned char \[*\]+\[)\]+ $hex \"abc\""
924 test_print_accept "p parrays->array2" "\"d\""
925 test_print_accept "p &parrays->array2" "\[(\]+unsigned char \[*\]+\[)\]+ $hex \"defghij\""
926 test_print_accept "p parrays->array3" "\"e\""
927 test_print_accept "p &parrays->array3" "\[(\]+unsigned char \[*\]+\[)\]+ $hex \"efghij\""
928 test_print_accept "p parrays->array4" "\"fg\""
929 test_print_accept "p &parrays->array4" "\[(\]+unsigned char \[*\]+\[)\]+ $hex \"fghij\""
930 test_print_accept "p parrays->array5" "\"hij\""
931 test_print_accept "p &parrays->array5" "\[(\]+unsigned char \[*\]+\[)\]+ $hex \"hij\""
932
933 send "set print address off\n" ; expect -re "$prompt $"
934 }
935
936 proc test_print_string_constants {} {
937 global prompt
938 global timeout
939
940 set otimeout $timeout
941 set timeout 120
942
943 send "set print elements 50\n" ; expect -re "$prompt $"
944
945 setup_xfail "a29k-*-udi" 2416
946 test_print_accept "p \"a string\"" "\"a string\""
947 setup_xfail "a29k-*-udi" 2416
948 test_print_accept "p \"embedded \\000 null\"" "\"embedded \\\\000 null\""
949 setup_xfail "a29k-*-udi" 2416
950 test_print_accept "p \"abcd\"\[2\]" "99 'c'"
951 setup_xfail "a29k-*-udi" 2416
952 test_print_accept "p sizeof (\"abcdef\")" "7"
953 setup_xfail "a29k-*-udi" 2416
954 test_print_accept "ptype \"foo\"" "char \\\[4\\\]"
955 setup_xfail "a29k-*-udi" 2416
956 test_print_accept "p *\"foo\"" "102 'f'"
957 setup_xfail "a29k-*-udi" 2416
958 test_print_accept "ptype *\"foo\"" "char"
959 setup_xfail "a29k-*-udi" 2416
960 test_print_accept "p &*\"foo\"" "\"foo\""
961 setup_xfail "*-*-*"
962 test_print_accept "ptype &*\"foo\"" "char \[*\]+"
963 setup_xfail "a29k-*-udi" 2416
964 test_print_accept "p (char *)\"foo\"" "\"foo\""
965
966 set timeout $otimeout
967 }
968
969 proc test_print_array_constants {} {
970 global timeout
971
972 set otimeout $timeout
973 set timeout 120
974
975 setup_xfail "a29k-*-udi" 2416
976 gdb_test "print {'a','b','c'}" " = \"abc\""
977 setup_xfail "a29k-*-udi" 2416
978 gdb_test "print {0,1,2}" " = {0, 1, 2}"
979 setup_xfail "a29k-*-udi" 2416
980 gdb_test "print {(long)0,(long)1,(long)2}" " = {0, 1, 2}"
981 setup_xfail "a29k-*-udi" 2416
982 gdb_test "print {{0,1,2},{3,4,5}}" " = {{0, 1, 2}, {3, 4, 5}}"
983 setup_xfail "a29k-*-udi" 2416
984 gdb_test "print {4,5,6}\[2\]" " = 6"
985 setup_xfail "a29k-*-udi" 2416
986 gdb_test "print *&{4,5,6}\[1\]" " = 5"
987
988 set timeout $otimeout
989 }
990
991 proc test_printf {} {
992 gdb_test "printf \"x=%d,y=%d,z=%d\\n\", 5, 6, 7" "x=5,y=6,z=7"
993 gdb_test "printf \"string=%.4sxx\\n\", teststring" "string=testxx"
994 gdb_test "printf \"string=%sxx\\n\", teststring" \
995 "string=teststring contentsxx"
996
997 gdb_test "printf \"%f is fun\\n\", 1.0" "1\.0+ is fun"
998
999 # Test mixing args of different sizes.
1000 gdb_test "printf \"x=%d,y=%f,z=%d\\n\", 5, 6.0, 7" "x=5,y=6\.0+,z=7"
1001 gdb_test "printf \"%x %f, %c %x, %x, %f\\n\", 0xbad, -99.541, 'z',\
1002 0xfeedface, 0xdeadbeef, 5.0" "bad -99.5410+, z feedface, deadbeef, 5.0+"
1003 }
1004
1005 # Start with a fresh gdb.
1006
1007 gdb_exit
1008 gdb_start
1009 gdb_reinitialize_dir $srcdir/$subdir
1010
1011 gdb_test "print \$pc" "No registers\\."
1012 # FIXME: should also test "print $pc" when there is an execfile but no
1013 # remote debugging target, process or corefile.
1014
1015 gdb_load $objdir/$subdir/$binfile
1016
1017 send "set print sevenbit-strings\n" ; expect -re "$prompt $"
1018 send "set print address off\n" ; expect -re "$prompt $"
1019 send "set width 0\n" ; expect -re "$prompt $"
1020
1021 if [set_lang_c] then {
1022 # On AIX, we can't print variables before we run the program. This is because
1023 # the data segment and text segment are in the same range of addresses until
1024 # they are relocated. Ick.
1025 setup_xfail "rs6000-*-aix*"
1026 gdb_test "p ctable1\[120\]" "120 'x'"
1027
1028 if [runto main] then {
1029 test_integer_literals_accepted
1030 test_integer_literals_rejected
1031 test_character_literals_accepted
1032 test_print_all_chars
1033 test_print_repeats_10
1034 test_print_strings
1035 test_print_int_arrays
1036 test_artificial_arrays
1037 test_print_char_arrays
1038 # We used to do the runto main here.
1039 test_print_string_constants
1040 test_print_array_constants
1041 test_printf
1042 }
1043 } else {
1044 fail "C print command tests suppressed"
1045 }