Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / Test::Harness::Straps.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "Test::Harness::Straps 3"
132.TH Test::Harness::Straps 3 "2002-06-01" "perl v5.8.0" "Perl Programmers Reference Guide"
133.SH "NAME"
134Test::Harness::Straps \- detailed analysis of test results
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& use Test::Harness::Straps;
139.Ve
140.PP
141.Vb 1
142\& my $strap = Test::Harness::Straps->new;
143.Ve
144.PP
145.Vb 4
146\& # Various ways to interpret a test
147\& my %results = $strap->analyze($name, \e@test_output);
148\& my %results = $strap->analyze_fh($name, $test_filehandle);
149\& my %results = $strap->analyze_file($test_file);
150.Ve
151.PP
152.Vb 2
153\& # UNIMPLEMENTED
154\& my %total = $strap->total_results;
155.Ve
156.PP
157.Vb 3
158\& # Altering the behavior of the strap UNIMPLEMENTED
159\& my $verbose_output = $strap->dump_verbose();
160\& $strap->dump_verbose_fh($output_filehandle);
161.Ve
162.SH "DESCRIPTION"
163.IX Header "DESCRIPTION"
164\&\fB\s-1THIS\s0 \s-1IS\s0 \s-1ALPHA\s0 \s-1SOFTWARE\s0\fR in that the interface is subject to change
165in incompatible ways. It is otherwise stable.
166.PP
167Test::Harness is limited to printing out its results. This makes
168analysis of the test results difficult for anything but a human. To
169make it easier for programs to work with test results, we provide
170Test::Harness::Straps. Instead of printing the results, straps
171provide them as raw data. You can also configure how the tests are to
172be run.
173.PP
174The interface is currently incomplete. \fIPlease\fR contact the author
175if you'd like a feature added or something change or just have
176comments.
177.Sh "Construction"
178.IX Subsection "Construction"
179.IP "\fBnew\fR" 4
180.IX Item "new"
181.Vb 1
182\& my $strap = Test::Harness::Straps->new;
183.Ve
184.Sp
185Initialize a new strap.
186.Sh "Analysis"
187.IX Subsection "Analysis"
188.IP "\fBanalyze\fR" 4
189.IX Item "analyze"
190.Vb 1
191\& my %results = $strap->analyze($name, \e@test_output);
192.Ve
193.Sp
194Analyzes the output of a single test, assigning it the given \f(CW$name\fR for
195use in the total report. Returns the \f(CW%results\fR of the test. See
196Results.
197.Sp
198@test_output should be the raw output from the test, including newlines.
199.IP "\fBanalyze_fh\fR" 4
200.IX Item "analyze_fh"
201.Vb 1
202\& my %results = $strap->analyze_fh($name, $test_filehandle);
203.Ve
204.Sp
205Like \f(CW\*(C`analyze\*(C'\fR, but it reads from the given filehandle.
206.IP "\fBanalyze_file\fR" 4
207.IX Item "analyze_file"
208.Vb 1
209\& my %results = $strap->analyze_file($test_file);
210.Ve
211.Sp
212Like \f(CW\*(C`analyze\*(C'\fR, but it runs the given \f(CW$test_file\fR and parses it's
213results. It will also use that name for the total report.
214.Sh "Results"
215.IX Subsection "Results"
216The \f(CW%results\fR returned from \fIanalyze()\fR contain the following information:
217.PP
218.Vb 2
219\& passing true if the whole test is considered a pass
220\& (or skipped), false if its a failure
221.Ve
222.PP
223.Vb 2
224\& exit the exit code of the test run, if from a file
225\& wait the wait code of the test run, if from a file
226.Ve
227.PP
228.Vb 4
229\& max total tests which should have been run
230\& seen total tests actually seen
231\& skip_all if the whole test was skipped, this will
232\& contain the reason.
233.Ve
234.PP
235.Vb 2
236\& ok number of tests which passed
237\& (including todo and skips)
238.Ve
239.PP
240.Vb 3
241\& todo number of todo tests seen
242\& bonus number of todo tests which
243\& unexpectedly passed
244.Ve
245.PP
246.Vb 1
247\& skip number of tests skipped
248.Ve
249.PP
250So a successful test should have max == seen == ok.
251.PP
252There is one final item, the details.
253.PP
254.Vb 2
255\& details an array ref reporting the result of
256\& each test looks like this:
257.Ve
258.PP
259.Vb 7
260\& $results{details}[$test_num - 1] =
261\& { ok => is the test considered ok?
262\& actual_ok => did it literally say 'ok'?
263\& name => name of the test (if any)
264\& type => 'skip' or 'todo' (if any)
265\& reason => reason for the above (if any)
266\& };
267.Ve
268.PP
269Element 0 of the details is test #1. I tried it with element 1 being
270#1 and 0 being empty, this is less awkward.
271.SH "EXAMPLES"
272.IX Header "EXAMPLES"
273See \fIexamples/mini_harness.plx\fR for an example of use.
274.SH "AUTHOR"
275.IX Header "AUTHOR"
276Michael G Schwern <schwern@pobox.com>
277.SH "SEE ALSO"
278.IX Header "SEE ALSO"
279Test::Harness