]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - tools/src/infra/testsuite/cyginfra/ttrace2.cxx
Initial revision
[karo-tx-redboot.git] / tools / src / infra / testsuite / cyginfra / ttrace2.cxx
1 //==========================================================================
2 //
3 //      ttrace2.cxx
4 //
5 //      Trace test case                                                                
6 //
7 //==========================================================================
8 //####COPYRIGHTBEGIN####
9 //                                                                          
10 // ----------------------------------------------------------------------------
11 // Copyright (C) 1999, 2000 Red Hat, Inc.
12 //
13 // This file is part of the eCos host tools.
14 //
15 // This program is free software; you can redistribute it and/or modify it 
16 // under the terms of the GNU General Public License as published by the Free 
17 // Software Foundation; either version 2 of the License, or (at your option) 
18 // any later version.
19 // 
20 // This program is distributed in the hope that it will be useful, but WITHOUT 
21 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
22 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
23 // more details.
24 // 
25 // You should have received a copy of the GNU General Public License along with
26 // this program; if not, write to the Free Software Foundation, Inc., 
27 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
28 //
29 // ----------------------------------------------------------------------------
30 //                                                                          
31 //####COPYRIGHTEND####
32 //==========================================================================
33 //#####DESCRIPTIONBEGIN####                                             
34 //
35 // Author(s):           bartv
36 // Contributors:        bartv
37 // Date:                1999-01-06
38 // Purpose:
39 // Description:         This file tests all the trace macros for the case
40 //                      where tracing and function reporting are enabled.
41 //
42 //####DESCRIPTIONEND####
43 //==========================================================================
44
45
46 #define CYGDBG_USE_TRACING
47 #define CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS
48 #include <cyg/infra/testcase.h>
49 #include <cyg/infra/cyg_trac.h>
50 #include <cstdlib>
51
52 bool tracing_is_enabled(void);
53 bool reporting_is_enabled(void);
54
55 #define CYG_TRACE_USER_BOOL  (tracing_is_enabled())
56 #define CYG_REPORT_USER_BOOL (reporting_is_enabled())
57
58
59 void
60 fn1(void)
61 {
62     CYG_REPORT_FUNCTION();
63 }
64
65 void
66 fn2(void)
67 {
68     CYG_REPORT_FUNCTYPE("printf-style format string");
69 }
70
71 void
72 fn3(void)
73 {
74     CYG_REPORT_FUNCNAME("fn3");
75 }
76
77 void
78 fn4(void)
79 {
80     CYG_REPORT_FUNCNAMETYPE("fn4", "printf-style format string");
81 }
82
83 void
84 fn5(void)
85 {
86     CYG_REPORT_FUNCTIONC();
87 }
88
89 void
90 fn6(void)
91 {
92     CYG_REPORT_FUNCTYPEC("printf-style format string");
93 }
94
95 void
96 fn7(void)
97 {
98     CYG_REPORT_FUNCNAMEC("fn7");
99 }
100
101 void
102 fn8(void)
103 {
104     CYG_REPORT_FUNCNAMETYPEC("fn8", "printf-style format string");
105 }
106
107 void
108 fn9(void)
109 {
110     CYG_REPORT_FUNCTION();
111     CYG_REPORT_RETURN();
112 }
113
114 void
115 fn10(void)
116 {
117     CYG_REPORT_FUNCTYPE("result is %d");
118     CYG_REPORT_RETVAL(42);
119 }
120
121 void
122 fn11(void)
123 {
124     CYG_REPORT_FUNCTION();
125     CYG_REPORT_FUNCARGVOID();
126 }
127
128 void
129 fn12(int glorious)
130 {
131     CYG_REPORT_FUNCTION();
132     CYG_REPORT_FUNCARG1("%d", glorious);
133 }
134
135 void
136 fn13(int glorious, int summer)
137 {
138     CYG_REPORT_FUNCTION();
139     CYG_REPORT_FUNCARG2("%d %d", glorious, summer);
140 }
141
142 void
143 fn14(int glorious, int summer, int by)
144 {
145     CYG_REPORT_FUNCTION();
146     CYG_REPORT_FUNCARG3("%d %d %d", glorious, summer, by);
147 }
148
149 void
150 fn15(int glorious, int summer, int by, int thisse)
151 {
152     CYG_REPORT_FUNCTION();
153     CYG_REPORT_FUNCARG4("%d %d %d %d", glorious, summer, by, thisse);
154 }
155
156 void
157 fn16(int glorious, int summer, int by, int thisse, int son)
158 {
159     CYG_REPORT_FUNCTION();
160     CYG_REPORT_FUNCARG5("%d %d %d %d %d", glorious, summer, by, thisse, son);
161 }
162
163 void
164 fn17(int glorious, int summer, int by, int thisse, int son, int of)
165 {
166     CYG_REPORT_FUNCTION();
167     CYG_REPORT_FUNCARG6("%d %d %d %d %d %d", glorious, summer, by, thisse, son, of);
168 }
169
170 void
171 fn18(int glorious, int summer, int by, int thisse, int son, int of, int york)
172 {
173     CYG_REPORT_FUNCTION();
174     CYG_REPORT_FUNCARG7("%d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york);
175 }
176
177 void
178 fn19(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
179 {
180     CYG_REPORT_FUNCTION();
181     CYG_REPORT_FUNCARG8("%d %d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york, stop);
182 }
183
184 void
185 fn20(int glorious)
186 {
187     CYG_REPORT_FUNCTION();
188     CYG_REPORT_FUNCARG1X(glorious);
189 }
190
191 void
192 fn21(int glorious, int summer)
193 {
194     CYG_REPORT_FUNCTION();
195     CYG_REPORT_FUNCARG2X(glorious, summer);
196 }
197
198 void
199 fn22(int glorious, int summer, int by)
200 {
201     CYG_REPORT_FUNCTION();
202     CYG_REPORT_FUNCARG3X(glorious, summer, by);
203 }
204
205 void
206 fn23(int glorious, int summer, int by, int thisse)
207 {
208     CYG_REPORT_FUNCTION();
209     CYG_REPORT_FUNCARG4X(glorious, summer, by, thisse);
210 }
211
212 void
213 fn24(int glorious, int summer, int by, int thisse, int son)
214 {
215     CYG_REPORT_FUNCTION();
216     CYG_REPORT_FUNCARG5X(glorious, summer, by, thisse, son);
217 }
218
219 void
220 fn25(int glorious, int summer, int by, int thisse, int son, int of)
221 {
222     CYG_REPORT_FUNCTION();
223     CYG_REPORT_FUNCARG6X(glorious, summer, by, thisse, son, of);
224 }
225
226 void
227 fn26(int glorious, int summer, int by, int thisse, int son, int of, int york)
228 {
229     CYG_REPORT_FUNCTION();
230     CYG_REPORT_FUNCARG7X(glorious, summer, by, thisse, son, of, york);
231 }
232
233 void
234 fn27(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
235 {
236     CYG_REPORT_FUNCTION();
237     CYG_REPORT_FUNCARG8X(glorious, summer, by, thisse, son, of, york, stop);
238 }
239
240 void
241 fn28(int glorious)
242 {
243     CYG_REPORT_FUNCTION();
244     CYG_REPORT_FUNCARG1Y(glorious);
245 }
246
247 void
248 fn29(int glorious, int summer)
249 {
250     CYG_REPORT_FUNCTION();
251     CYG_REPORT_FUNCARG2Y(glorious, summer);
252 }
253
254 void
255 fn30(int glorious, int summer, int by)
256 {
257     CYG_REPORT_FUNCTION();
258     CYG_REPORT_FUNCARG3Y(glorious, summer, by);
259 }
260
261 void
262 fn31(int glorious, int summer, int by, int thisse)
263 {
264     CYG_REPORT_FUNCTION();
265     CYG_REPORT_FUNCARG4Y(glorious, summer, by, thisse);
266 }
267
268 void
269 fn32(int glorious, int summer, int by, int thisse, int son)
270 {
271     CYG_REPORT_FUNCTION();
272     CYG_REPORT_FUNCARG5Y(glorious, summer, by, thisse, son);
273 }
274
275 void
276 fn33(int glorious, int summer, int by, int thisse, int son, int of)
277 {
278     CYG_REPORT_FUNCTION();
279     CYG_REPORT_FUNCARG6Y(glorious, summer, by, thisse, son, of);
280 }
281
282 void
283 fn34(int glorious, int summer, int by, int thisse, int son, int of, int york)
284 {
285     CYG_REPORT_FUNCTION();
286     CYG_REPORT_FUNCARG7Y(glorious, summer, by, thisse, son, of, york);
287 }
288
289 void
290 fn35(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
291 {
292     CYG_REPORT_FUNCTION();
293     CYG_REPORT_FUNCARG8D(glorious, summer, by, thisse, son, of, york, stop);
294 }
295
296 void
297 fn36(int glorious)
298 {
299     CYG_REPORT_FUNCTION();
300     CYG_REPORT_FUNCARG1D(glorious);
301 }
302
303 void
304 fn37(int glorious, int summer)
305 {
306     CYG_REPORT_FUNCTION();
307     CYG_REPORT_FUNCARG2D(glorious, summer);
308 }
309
310 void
311 fn38(int glorious, int summer, int by)
312 {
313     CYG_REPORT_FUNCTION();
314     CYG_REPORT_FUNCARG3D(glorious, summer, by);
315 }
316
317 void
318 fn39(int glorious, int summer, int by, int thisse)
319 {
320     CYG_REPORT_FUNCTION();
321     CYG_REPORT_FUNCARG4D(glorious, summer, by, thisse);
322 }
323
324 void
325 fn40(int glorious, int summer, int by, int thisse, int son)
326 {
327     CYG_REPORT_FUNCTION();
328     CYG_REPORT_FUNCARG5D(glorious, summer, by, thisse, son);
329 }
330
331 void
332 fn41(int glorious, int summer, int by, int thisse, int son, int of)
333 {
334     CYG_REPORT_FUNCTION();
335     CYG_REPORT_FUNCARG6D(glorious, summer, by, thisse, son, of);
336 }
337
338 void
339 fn42(int glorious, int summer, int by, int thisse, int son, int of, int york)
340 {
341     CYG_REPORT_FUNCTION();
342     CYG_REPORT_FUNCARG7D(glorious, summer, by, thisse, son, of, york);
343 }
344
345 void
346 fn43(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
347 {
348     CYG_REPORT_FUNCTION();
349     CYG_REPORT_FUNCARG8D(glorious, summer, by, thisse, son, of, york, stop);
350 }
351
352 void
353 fn44(int glorious)
354 {
355     CYG_REPORT_FUNCTION();
356     CYG_REPORT_FUNCARG1XV(glorious);
357 }
358
359 void
360 fn45(int glorious, int summer)
361 {
362     CYG_REPORT_FUNCTION();
363     CYG_REPORT_FUNCARG2XV(glorious, summer);
364 }
365
366 void
367 fn46(int glorious, int summer, int by)
368 {
369     CYG_REPORT_FUNCTION();
370     CYG_REPORT_FUNCARG3XV(glorious, summer, by);
371 }
372
373 void
374 fn47(int glorious, int summer, int by, int thisse)
375 {
376     CYG_REPORT_FUNCTION();
377     CYG_REPORT_FUNCARG4XV(glorious, summer, by, thisse);
378 }
379
380 void
381 fn48(int glorious, int summer, int by, int thisse, int son)
382 {
383     CYG_REPORT_FUNCTION();
384     CYG_REPORT_FUNCARG5XV(glorious, summer, by, thisse, son);
385 }
386
387 void
388 fn49(int glorious, int summer, int by, int thisse, int son, int of)
389 {
390     CYG_REPORT_FUNCTION();
391     CYG_REPORT_FUNCARG6XV(glorious, summer, by, thisse, son, of);
392 }
393
394 void
395 fn50(int glorious, int summer, int by, int thisse, int son, int of, int york)
396 {
397     CYG_REPORT_FUNCTION();
398     CYG_REPORT_FUNCARG7XV(glorious, summer, by, thisse, son, of, york);
399 }
400
401 void
402 fn51(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
403 {
404     CYG_REPORT_FUNCTION();
405     CYG_REPORT_FUNCARG8XV(glorious, summer, by, thisse, son, of, york, stop);
406 }
407
408 void
409 fn52(int glorious)
410 {
411     CYG_REPORT_FUNCTION();
412     CYG_REPORT_FUNCARG1YV(glorious);
413 }
414
415 void
416 fn53(int glorious, int summer)
417 {
418     CYG_REPORT_FUNCTION();
419     CYG_REPORT_FUNCARG2YV(glorious, summer);
420 }
421
422 void
423 fn54(int glorious, int summer, int by)
424 {
425     CYG_REPORT_FUNCTION();
426     CYG_REPORT_FUNCARG3YV(glorious, summer, by);
427 }
428
429 void
430 fn55(int glorious, int summer, int by, int thisse)
431 {
432     CYG_REPORT_FUNCTION();
433     CYG_REPORT_FUNCARG4YV(glorious, summer, by, thisse);
434 }
435
436 void
437 fn56(int glorious, int summer, int by, int thisse, int son)
438 {
439     CYG_REPORT_FUNCTION();
440     CYG_REPORT_FUNCARG5YV(glorious, summer, by, thisse, son);
441 }
442
443 void
444 fn57(int glorious, int summer, int by, int thisse, int son, int of)
445 {
446     CYG_REPORT_FUNCTION();
447     CYG_REPORT_FUNCARG6YV(glorious, summer, by, thisse, son, of);
448 }
449
450 void
451 fn58(int glorious, int summer, int by, int thisse, int son, int of, int york)
452 {
453     CYG_REPORT_FUNCTION();
454     CYG_REPORT_FUNCARG7YV(glorious, summer, by, thisse, son, of, york);
455 }
456
457 void
458 fn59(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
459 {
460     CYG_REPORT_FUNCTION();
461     CYG_REPORT_FUNCARG8YV(glorious, summer, by, thisse, son, of, york, stop);
462 }
463
464 void
465 fn60(int glorious)
466 {
467     CYG_REPORT_FUNCTION();
468     CYG_REPORT_FUNCARG1DV(glorious);
469 }
470
471 void
472 fn61(int glorious, int summer)
473 {
474     CYG_REPORT_FUNCTION();
475     CYG_REPORT_FUNCARG2DV(glorious, summer);
476 }
477
478 void
479 fn62(int glorious, int summer, int by)
480 {
481     CYG_REPORT_FUNCTION();
482     CYG_REPORT_FUNCARG3DV(glorious, summer, by);
483 }
484
485 void
486 fn63(int glorious, int summer, int by, int thisse)
487 {
488     CYG_REPORT_FUNCTION();
489     CYG_REPORT_FUNCARG4DV(glorious, summer, by, thisse);
490 }
491
492 void
493 fn64(int glorious, int summer, int by, int thisse, int son)
494 {
495     CYG_REPORT_FUNCTION();
496     CYG_REPORT_FUNCARG5DV(glorious, summer, by, thisse, son);
497 }
498
499 void
500 fn65(int glorious, int summer, int by, int thisse, int son, int of)
501 {
502     CYG_REPORT_FUNCTION();
503     CYG_REPORT_FUNCARG6DV(glorious, summer, by, thisse, son, of);
504 }
505
506 void
507 fn66(int glorious, int summer, int by, int thisse, int son, int of, int york)
508 {
509     CYG_REPORT_FUNCTION();
510     CYG_REPORT_FUNCARG7DV(glorious, summer, by, thisse, son, of, york);
511 }
512
513 void
514 fn67(int glorious, int summer, int by, int thisse, int son, int of, int york, int stop)
515 {
516     CYG_REPORT_FUNCTION();
517     CYG_REPORT_FUNCARG8DV(glorious, summer, by, thisse, son, of, york, stop);
518 }
519
520 int
521 main(int argc, char** argv)
522 {
523     int glorious    = 0;
524     int summer      = 1;
525     int by          = 2;
526     int thisse      = 4;
527     int son         = 5;
528     int of          = 6;
529     int york        = 7;
530     int stop        = 8;
531     
532     CYG_TRACE0(true, "no argument here");
533     CYG_TRACE1(true, "%d", glorious);
534     CYG_TRACE2(true, "%d %d", glorious, summer);
535     CYG_TRACE3(true, "%d %d %d", glorious, summer, by);
536     CYG_TRACE4(true, "%d %d %d %d", glorious, summer, by, thisse);
537     CYG_TRACE5(true, "%d %d %d %d %d", glorious, summer, by, thisse, son);
538     CYG_TRACE6(true, "%d %d %d %d %d %d", glorious, summer, by, thisse, son, of);
539     CYG_TRACE7(true, "%d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york);
540     CYG_TRACE8(true, "%d %d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york, stop);
541     
542     CYG_TRACE0(false, "no argument here");
543     CYG_TRACE1(false, "%d", glorious);
544     CYG_TRACE2(false, "%d %d", glorious, summer);
545     CYG_TRACE3(false, "%d %d %d", glorious, summer, by);
546     CYG_TRACE4(false, "%d %d %d %d", glorious, summer, by, thisse);
547     CYG_TRACE5(false, "%d %d %d %d %d", glorious, summer, by, thisse, son);
548     CYG_TRACE6(false, "%d %d %d %d %d %d", glorious, summer, by, thisse, son, of);
549     CYG_TRACE7(false, "%d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york);
550     CYG_TRACE8(false, "%d %d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york, stop);
551     
552     CYG_TRACE0B("no argument here");
553     CYG_TRACE1B("%d", glorious);
554     CYG_TRACE2B("%d %d", glorious, summer);
555     CYG_TRACE3B("%d %d %d", glorious, summer, by);
556     CYG_TRACE4B("%d %d %d %d", glorious, summer, by, thisse);
557     CYG_TRACE5B("%d %d %d %d %d", glorious, summer, by, thisse, son);
558     CYG_TRACE6B("%d %d %d %d %d %d", glorious, summer, by, thisse, son, of);
559     CYG_TRACE7B("%d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york);
560     CYG_TRACE8B("%d %d %d %d %d %d %d %d", glorious, summer, by, thisse, son, of, york, stop);
561
562     CYG_TRACE1X(true, glorious);
563     CYG_TRACE2X(true, glorious, summer);
564     CYG_TRACE3X(true, glorious, summer, by);
565     CYG_TRACE4X(true, glorious, summer, by, thisse);
566     CYG_TRACE5X(true, glorious, summer, by, thisse, son);
567     CYG_TRACE6X(true, glorious, summer, by, thisse, son, of);
568     CYG_TRACE7X(true, glorious, summer, by, thisse, son, of, york);
569     CYG_TRACE8X(true, glorious, summer, by, thisse, son, of, york, stop);
570     
571     CYG_TRACE1Y(true, glorious);
572     CYG_TRACE2Y(true, glorious, summer);
573     CYG_TRACE3Y(true, glorious, summer, by);
574     CYG_TRACE4Y(true, glorious, summer, by, thisse);
575     CYG_TRACE5Y(true, glorious, summer, by, thisse, son);
576     CYG_TRACE6Y(true, glorious, summer, by, thisse, son, of);
577     CYG_TRACE7Y(true, glorious, summer, by, thisse, son, of, york);
578     CYG_TRACE8Y(true, glorious, summer, by, thisse, son, of, york, stop);
579     
580     CYG_TRACE1D(true, glorious);
581     CYG_TRACE2D(true, glorious, summer);
582     CYG_TRACE3D(true, glorious, summer, by);
583     CYG_TRACE4D(true, glorious, summer, by, thisse);
584     CYG_TRACE5D(true, glorious, summer, by, thisse, son);
585     CYG_TRACE6D(true, glorious, summer, by, thisse, son, of);
586     CYG_TRACE7D(true, glorious, summer, by, thisse, son, of, york);
587     CYG_TRACE8D(true, glorious, summer, by, thisse, son, of, york, stop);
588     
589     CYG_TRACE1XV(true, glorious);
590     CYG_TRACE2XV(true, glorious, summer);
591     CYG_TRACE3XV(true, glorious, summer, by);
592     CYG_TRACE4XV(true, glorious, summer, by, thisse);
593     CYG_TRACE5XV(true, glorious, summer, by, thisse, son);
594     CYG_TRACE6XV(true, glorious, summer, by, thisse, son, of);
595     CYG_TRACE7XV(true, glorious, summer, by, thisse, son, of, york);
596     CYG_TRACE8XV(true, glorious, summer, by, thisse, son, of, york, stop);
597     
598     CYG_TRACE1YV(true, glorious);
599     CYG_TRACE2YV(true, glorious, summer);
600     CYG_TRACE3YV(true, glorious, summer, by);
601     CYG_TRACE4YV(true, glorious, summer, by, thisse);
602     CYG_TRACE5YV(true, glorious, summer, by, thisse, son);
603     CYG_TRACE6YV(true, glorious, summer, by, thisse, son, of);
604     CYG_TRACE7YV(true, glorious, summer, by, thisse, son, of, york);
605     CYG_TRACE8YV(true, glorious, summer, by, thisse, son, of, york, stop);
606     
607     CYG_TRACE1DV(true, glorious);
608     CYG_TRACE2DV(true, glorious, summer);
609     CYG_TRACE3DV(true, glorious, summer, by);
610     CYG_TRACE4DV(true, glorious, summer, by, thisse);
611     CYG_TRACE5DV(true, glorious, summer, by, thisse, son);
612     CYG_TRACE6DV(true, glorious, summer, by, thisse, son, of);
613     CYG_TRACE7DV(true, glorious, summer, by, thisse, son, of, york);
614     CYG_TRACE8DV(true, glorious, summer, by, thisse, son, of, york, stop);
615
616     CYG_TRACE1X(false, glorious);
617     CYG_TRACE2X(false, glorious, summer);
618     CYG_TRACE3X(false, glorious, summer, by);
619     CYG_TRACE4X(false, glorious, summer, by, thisse);
620     CYG_TRACE5X(false, glorious, summer, by, thisse, son);
621     CYG_TRACE6X(false, glorious, summer, by, thisse, son, of);
622     CYG_TRACE7X(false, glorious, summer, by, thisse, son, of, york);
623     CYG_TRACE8X(false, glorious, summer, by, thisse, son, of, york, stop);
624     
625     CYG_TRACE1Y(false, glorious);
626     CYG_TRACE2Y(false, glorious, summer);
627     CYG_TRACE3Y(false, glorious, summer, by);
628     CYG_TRACE4Y(false, glorious, summer, by, thisse);
629     CYG_TRACE5Y(false, glorious, summer, by, thisse, son);
630     CYG_TRACE6Y(false, glorious, summer, by, thisse, son, of);
631     CYG_TRACE7Y(false, glorious, summer, by, thisse, son, of, york);
632     CYG_TRACE8Y(false, glorious, summer, by, thisse, son, of, york, stop);
633     
634     CYG_TRACE1D(false, glorious);
635     CYG_TRACE2D(false, glorious, summer);
636     CYG_TRACE3D(false, glorious, summer, by);
637     CYG_TRACE4D(false, glorious, summer, by, thisse);
638     CYG_TRACE5D(false, glorious, summer, by, thisse, son);
639     CYG_TRACE6D(false, glorious, summer, by, thisse, son, of);
640     CYG_TRACE7D(false, glorious, summer, by, thisse, son, of, york);
641     CYG_TRACE8D(false, glorious, summer, by, thisse, son, of, york, stop);
642     
643     CYG_TRACE1XV(false, glorious);
644     CYG_TRACE2XV(false, glorious, summer);
645     CYG_TRACE3XV(false, glorious, summer, by);
646     CYG_TRACE4XV(false, glorious, summer, by, thisse);
647     CYG_TRACE5XV(false, glorious, summer, by, thisse, son);
648     CYG_TRACE6XV(false, glorious, summer, by, thisse, son, of);
649     CYG_TRACE7XV(false, glorious, summer, by, thisse, son, of, york);
650     CYG_TRACE8XV(false, glorious, summer, by, thisse, son, of, york, stop);
651     
652     CYG_TRACE1YV(false, glorious);
653     CYG_TRACE2YV(false, glorious, summer);
654     CYG_TRACE3YV(false, glorious, summer, by);
655     CYG_TRACE4YV(false, glorious, summer, by, thisse);
656     CYG_TRACE5YV(false, glorious, summer, by, thisse, son);
657     CYG_TRACE6YV(false, glorious, summer, by, thisse, son, of);
658     CYG_TRACE7YV(false, glorious, summer, by, thisse, son, of, york);
659     CYG_TRACE8YV(false, glorious, summer, by, thisse, son, of, york, stop);
660     
661     CYG_TRACE1DV(false, glorious);
662     CYG_TRACE2DV(false, glorious, summer);
663     CYG_TRACE3DV(false, glorious, summer, by);
664     CYG_TRACE4DV(false, glorious, summer, by, thisse);
665     CYG_TRACE5DV(false, glorious, summer, by, thisse, son);
666     CYG_TRACE6DV(false, glorious, summer, by, thisse, son, of);
667     CYG_TRACE7DV(false, glorious, summer, by, thisse, son, of, york);
668     CYG_TRACE8DV(false, glorious, summer, by, thisse, son, of, york, stop);
669     
670     CYG_TRACE1XB(glorious);
671     CYG_TRACE2XB(glorious, summer);
672     CYG_TRACE3XB(glorious, summer, by);
673     CYG_TRACE4XB(glorious, summer, by, thisse);
674     CYG_TRACE5XB(glorious, summer, by, thisse, son);
675     CYG_TRACE6XB(glorious, summer, by, thisse, son, of);
676     CYG_TRACE7XB(glorious, summer, by, thisse, son, of, york);
677     CYG_TRACE8XB(glorious, summer, by, thisse, son, of, york, stop);
678     
679     CYG_TRACE1YB(glorious);
680     CYG_TRACE2YB(glorious, summer);
681     CYG_TRACE3YB(glorious, summer, by);
682     CYG_TRACE4YB(glorious, summer, by, thisse);
683     CYG_TRACE5YB(glorious, summer, by, thisse, son);
684     CYG_TRACE6YB(glorious, summer, by, thisse, son, of);
685     CYG_TRACE7YB(glorious, summer, by, thisse, son, of, york);
686     CYG_TRACE8YB(glorious, summer, by, thisse, son, of, york, stop);
687     
688     CYG_TRACE1DB(glorious);
689     CYG_TRACE2DB(glorious, summer);
690     CYG_TRACE3DB(glorious, summer, by);
691     CYG_TRACE4DB(glorious, summer, by, thisse);
692     CYG_TRACE5DB(glorious, summer, by, thisse, son);
693     CYG_TRACE6DB(glorious, summer, by, thisse, son, of);
694     CYG_TRACE7DB(glorious, summer, by, thisse, son, of, york);
695     CYG_TRACE8DB(glorious, summer, by, thisse, son, of, york, stop);
696     
697     CYG_TRACE1XVB(glorious);
698     CYG_TRACE2XVB(glorious, summer);
699     CYG_TRACE3XVB(glorious, summer, by);
700     CYG_TRACE4XVB(glorious, summer, by, thisse);
701     CYG_TRACE5XVB(glorious, summer, by, thisse, son);
702     CYG_TRACE6XVB(glorious, summer, by, thisse, son, of);
703     CYG_TRACE7XVB(glorious, summer, by, thisse, son, of, york);
704     CYG_TRACE8XVB(glorious, summer, by, thisse, son, of, york, stop);
705     
706     CYG_TRACE1YVB(glorious);
707     CYG_TRACE2YVB(glorious, summer);
708     CYG_TRACE3YVB(glorious, summer, by);
709     CYG_TRACE4YVB(glorious, summer, by, thisse);
710     CYG_TRACE5YVB(glorious, summer, by, thisse, son);
711     CYG_TRACE6YVB(glorious, summer, by, thisse, son, of);
712     CYG_TRACE7YVB(glorious, summer, by, thisse, son, of, york);
713     CYG_TRACE8YVB(glorious, summer, by, thisse, son, of, york, stop);
714     
715     CYG_TRACE1DVB(glorious);
716     CYG_TRACE2DVB(glorious, summer);
717     CYG_TRACE3DVB(glorious, summer, by);
718     CYG_TRACE4DVB(glorious, summer, by, thisse);
719     CYG_TRACE5DVB(glorious, summer, by, thisse, son);
720     CYG_TRACE6DVB(glorious, summer, by, thisse, son, of);
721     CYG_TRACE7DVB(glorious, summer, by, thisse, son, of, york);
722     CYG_TRACE8DVB(glorious, summer, by, thisse, son, of, york, stop);
723
724     fn1();
725     fn2();
726     fn3();
727     fn4();
728     fn5();
729     fn6();
730     fn7();
731     fn8();
732     fn9();
733     fn10();
734     fn11();
735     fn12(1);
736     fn13(2,   3);
737     fn14(4,   5,  6);
738     fn15(7,   8,  9, 10);
739     fn16(11, 12, 13, 14, 15);
740     fn17(16, 17, 18, 19, 20, 21);
741     fn18(22, 23, 24, 25, 26, 27, 28);
742     fn19(29, 30, 31, 32, 33, 34, 35, 36);
743     fn20(1);
744     fn21(2,   3);
745     fn22(4,   5,  6);
746     fn23(7,   8,  9, 10);
747     fn24(11, 12, 13, 14, 15);
748     fn25(16, 17, 18, 19, 20, 21);
749     fn26(22, 23, 24, 25, 26, 27, 28);
750     fn27(29, 30, 31, 32, 33, 34, 35, 36);
751     fn28(1);
752     fn29(2,   3);
753     fn30(4,   5,  6);
754     fn31(7,   8,  9, 10);
755     fn32(11, 12, 13, 14, 15);
756     fn33(16, 17, 18, 19, 20, 21);
757     fn34(22, 23, 24, 25, 26, 27, 28);
758     fn35(29, 30, 31, 32, 33, 34, 35, 36);
759     fn36(1);
760     fn37(2,   3);
761     fn38(4,   5,  6);
762     fn39(7,   8,  9, 10);
763     fn40(11, 12, 13, 14, 15);
764     fn41(16, 17, 18, 19, 20, 21);
765     fn42(22, 23, 24, 25, 26, 27, 28);
766     fn43(29, 30, 31, 32, 33, 34, 35, 36);
767     fn44(1);
768     fn45(2,   3);
769     fn46(4,   5,  6);
770     fn47(7,   8,  9, 10);
771     fn48(11, 12, 13, 14, 15);
772     fn49(16, 17, 18, 19, 20, 21);
773     fn50(22, 23, 24, 25, 26, 27, 28);
774     fn51(29, 30, 31, 32, 33, 34, 35, 36);
775     fn52(1);
776     fn53(2,   3);
777     fn54(4,   5,  6);
778     fn55(7,   8,  9, 10);
779     fn56(11, 12, 13, 14, 15);
780     fn57(16, 17, 18, 19, 20, 21);
781     fn58(22, 23, 24, 25, 26, 27, 28);
782     fn59(29, 30, 31, 32, 33, 34, 35, 36);
783     fn60(1);
784     fn61(2,   3);
785     fn62(4,   5,  6);
786     fn63(7,   8,  9, 10);
787     fn64(11, 12, 13, 14, 15);
788     fn65(16, 17, 18, 19, 20, 21);
789     fn66(22, 23, 24, 25, 26, 27, 28);
790     fn67(29, 30, 31, 32, 33, 34, 35, 36);
791     
792     CYG_TEST_PASS_FINISH("enabled tracing only slows things down");
793     return 0;
794 }
795 // ----------------------------------------------------------------------------
796 // These functions allow "dynamic" control over tracing and reporting.
797 // The assumption is that the compiler does not know enough about rand()
798 // to be able to optimise this away.
799 bool
800 tracing_is_enabled(void)
801 {
802     return rand() >= 0;
803 }
804
805 bool
806 reporting_is_enabled(void)
807 {
808     return rand() >= 0;
809 }