author | Claus Gittinger <cg@exept.de> |
Sat, 30 Jul 2011 19:51:24 +0200 | |
changeset 273 | 72af4634684c |
parent 272 | 492c13b42f3b |
child 274 | b334cbea7365 |
permissions | -rw-r--r-- |
222 | 1 |
"{ Package: 'stx:goodies/sunit' }" |
2 |
||
3 |
Object subclass:#TestResultReporter |
|
4 |
instanceVariableNames:'result stream' |
|
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'SUnit-Report' |
|
8 |
! |
|
9 |
||
267 | 10 |
!TestResultReporter class methodsFor:'documentation'! |
11 |
||
12 |
documentation |
|
13 |
" |
|
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
14 |
Currently supported formats are: |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
15 |
#xml_junit - a junit-like format |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
16 |
#xml - same, for backward compatibility |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
17 |
#tap - perl TAP unit test format; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
18 |
very naive and simple, but there are tools for it... |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
19 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
20 |
public API entry: |
267 | 21 |
|aTestResult| |
22 |
||
23 |
aTestResult := aUnitTest suite run. |
|
24 |
TestResultReporter report:aTestResult format:#xml on: aStream |
|
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
25 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
26 |
modifications: |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
27 |
cg: I think the name 'xml' is too unspecific; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
28 |
I may want to add a whole bunch of additional xml-based formats. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
29 |
So I changed #xml to xml_junit (but still support the original #xml for bw-compatibility). |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
30 |
You may be especially interested in xml_perfPublisher, which is great to present |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
31 |
nice reports in jenkins/hudson... |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
32 |
|
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
33 |
[author:] |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
34 |
Jan Vranji |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
35 |
documentation & tap format added by Claus Gittinger |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
36 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
37 |
[see also:] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
38 |
TAP |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
39 |
http://testanything.org/wiki/index.php/Main_Page |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
40 |
http://search.cpan.org/~petdance/Test-Harness-2.64/lib/Test/Harness/TAP.pod |
267 | 41 |
" |
42 |
! |
|
43 |
||
44 |
examples |
|
45 |
" |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
46 |
[exBegin] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
47 |
|testResult| |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
48 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
49 |
testResult := RegressionTests::IntegerTest suite run. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
50 |
TestResultReporter report:testResult format:#xml_junit on:Transcript. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
51 |
[exEnd] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
52 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
53 |
[exBegin] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
54 |
|testResult| |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
55 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
56 |
testResult := RegressionTests::IntegerTest suite run. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
57 |
TestResultReporter report:testResult format:#tap on:Transcript. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
58 |
[exEnd] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
59 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
60 |
[exBegin] |
267 | 61 |
|testResult| |
62 |
||
63 |
testResult := RegressionTests::IntegerTest suite run. |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
64 |
TestResultReporter report:testResult format:#xml_perfPublisher on:Transcript. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
65 |
[exEnd] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
66 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
67 |
! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
68 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
69 |
format_tap |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
70 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
71 |
sample output for one of the st/x regression-tests looks like: |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
72 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
73 |
1..49 |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
74 |
ok 1 - RegressionTests::IntegerTest-testComparing (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
75 |
ok 2 - RegressionTests::IntegerTest-testConstants (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
76 |
ok 3 - RegressionTests::IntegerTest-testCreationFromBytes1 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
77 |
ok 4 - RegressionTests::IntegerTest-testDivision (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
78 |
ok 5 - RegressionTests::IntegerTest-testEncodeDecode (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
79 |
ok 6 - RegressionTests::IntegerTest-testFactorial (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
80 |
ok 7 - RegressionTests::IntegerTest-testGCD (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
81 |
ok 8 - RegressionTests::IntegerTest-testILC (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
82 |
ok 9 - RegressionTests::IntegerTest-testInline1 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
83 |
ok 10 - RegressionTests::IntegerTest-testInteger1 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
84 |
ok 11 - RegressionTests::IntegerTest-testIntegerMisc (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
85 |
... |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
86 |
ok 47 - RegressionTests::IntegerTest-test_gcdBug1 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
87 |
ok 48 - RegressionTests::IntegerTest-test_gcdBug2 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
88 |
ok 49 - RegressionTests::IntegerTest-test_gcdBug3 (0ms) |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
89 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
90 |
! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
91 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
92 |
format_xml_junit |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
93 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
94 |
sample output for one of the st/x regression-tests looks like: |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
95 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
96 |
<?xml version='1.0'?> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
97 |
<unittest-results> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
98 |
<test duration='0' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
99 |
status='success' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
100 |
ficture='RegressionTests::IntegerTest' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
101 |
name='testComparing' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
102 |
file='RegressionTests::IntegerTest.st'> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
103 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
104 |
<test duration='0' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
105 |
status='success' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
106 |
ficture='RegressionTests::IntegerTest' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
107 |
name='testConstants' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
108 |
file='RegressionTests::IntegerTest.st'> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
109 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
110 |
<test duration='0' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
111 |
status='success' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
112 |
ficture='RegressionTests::IntegerTest' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
113 |
name='testCreationFromBytes1' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
114 |
file='RegressionTests::IntegerTest.st'> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
115 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
116 |
<test duration='0' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
117 |
status='success' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
118 |
ficture='RegressionTests::IntegerTest' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
119 |
name='testDivision' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
120 |
file='RegressionTests::IntegerTest.st'> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
121 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
122 |
<test duration='0' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
123 |
status='success' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
124 |
ficture='RegressionTests::IntegerTest' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
125 |
name='testEncodeDecode' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
126 |
file='RegressionTests::IntegerTest.st'> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
127 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
128 |
... |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
129 |
</unittest-results> |
267 | 130 |
" |
131 |
! ! |
|
132 |
||
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
133 |
!TestResultReporter class methodsFor:'queries'! |
267 | 134 |
|
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
135 |
supportedFormats |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
136 |
"return a list of formats and short-info-string, as per supported format symbol" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
137 |
|
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
138 |
^ #( |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
139 |
(#'xml_junit' 'a junit-like format') |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
140 |
(#'xml_perfPublisher' 'xml-based format for jenkins/hudson') |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
141 |
(#'tap' 'perl TAP unit test format') |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
142 |
) |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
143 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
144 |
"Created: / 30-07-2011 / 10:18:18 / cg" |
267 | 145 |
! ! |
222 | 146 |
|
147 |
!TestResultReporter class methodsFor:'reporting'! |
|
148 |
||
149 |
report: aTestResult format: format as: stringOrFilename |
|
150 |
||
151 |
self new report: aTestResult format: format as: stringOrFilename |
|
152 |
! |
|
153 |
||
154 |
report: aTestResult format: format on: stream |
|
155 |
||
156 |
self new report: aTestResult format: format on: stream |
|
267 | 157 |
|
158 |
" |
|
159 |
self report:(RegressionTests::IntegerTest runTests) format:#xml on:Transcript |
|
160 |
" |
|
161 |
||
162 |
"Modified (comment): / 30-07-2011 / 09:37:53 / cg" |
|
222 | 163 |
! ! |
164 |
||
165 |
!TestResultReporter methodsFor:'reporting'! |
|
166 |
||
267 | 167 |
report:formatSymbol |
168 |
"currently supported formatSymbols: |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
169 |
xml_junit, tap" |
267 | 170 |
|
222 | 171 |
|reportFormatSelector| |
172 |
||
267 | 173 |
reportFormatSelector := self reportFormatSelector:formatSymbol. |
222 | 174 |
(self respondsTo: reportFormatSelector) |
267 | 175 |
ifTrue:[self perform: reportFormatSelector] |
176 |
ifFalse:[self error:'Unsupported format: ', formatSymbol]. |
|
177 |
||
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
178 |
"Modified (comment): / 30-07-2011 / 11:40:42 / cg" |
222 | 179 |
! |
180 |
||
181 |
report: aTestResult format: format as: stringOrFilename |
|
182 |
||
183 |
| s | |
|
184 |
s := stringOrFilename asFilename writeStream. |
|
185 |
[ self report: aTestResult format: format on: s] |
|
186 |
ensure:[s close]. |
|
187 |
! |
|
188 |
||
189 |
report: aTestResult format: aSymbol on: aStream |
|
190 |
||
191 |
result := aTestResult. |
|
192 |
stream := aStream. |
|
193 |
self report: aSymbol |
|
194 |
! |
|
195 |
||
196 |
reportFormatSelector:format |
|
197 |
^ ('report' , format asString capitalized) asSymbol |
|
198 |
! ! |
|
199 |
||
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
200 |
!TestResultReporter methodsFor:'reporting - tap'! |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
201 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
202 |
reportTap |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
203 |
"TAP (perl unit test) report format" |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
204 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
205 |
|idx reportWithStatus| |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
206 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
207 |
"example: |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
208 |
1..4 |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
209 |
ok 1 - Input file opened |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
210 |
not ok 2 - First line of the input valid |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
211 |
ok 3 - Read the rest of the file |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
212 |
not ok 4 - Summarized correctly # TODO Not written yet |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
213 |
" |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
214 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
215 |
"/ what about not-executed tests - why only runCount ? |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
216 |
stream nextPutLine: ('1..%1' bindWith:result runCount). |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
217 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
218 |
reportWithStatus := |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
219 |
[:tests :status | |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
220 |
tests do:[:each | self reportTapTest: each index: idx result: status. idx := idx + 1 ] |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
221 |
]. |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
222 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
223 |
idx := 1. |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
224 |
reportWithStatus value:result passed value:#success. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
225 |
reportWithStatus value:result failures value:#failure. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
226 |
reportWithStatus value:result errors value:#error. |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
227 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
228 |
"Created: / 30-07-2011 / 10:12:31 / cg" |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
229 |
! |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
230 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
231 |
reportTapTest: test index:index result: testResult |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
232 |
| testClassName executionTime testDescription statusString| |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
233 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
234 |
testClassName := self sunitNameOf: test class. |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
235 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
236 |
"most tests do not know, and return nil here!!" |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
237 |
executionTime := test executionTime ? 0.0. |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
238 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
239 |
testDescription := '%1-%2 (%3ms)' |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
240 |
bindWith:testClassName |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
241 |
with:test selector |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
242 |
with:executionTime. |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
243 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
244 |
statusString := (testResult == #success) |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
245 |
ifTrue:['ok'] |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
246 |
ifFalse:['not ok']. |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
247 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
248 |
stream nextPutLine:('%1 %2 - %3' |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
249 |
bindWith:statusString |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
250 |
with:index |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
251 |
with:testDescription). |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
252 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
253 |
"Created: / 30-07-2011 / 10:28:06 / cg" |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
254 |
! ! |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
255 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
256 |
!TestResultReporter methodsFor:'reporting - xml-junit'! |
222 | 257 |
|
258 |
reportXml |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
259 |
"backward compatible: JUnit-like XML unittest report format" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
260 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
261 |
self reportXml_junit |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
262 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
263 |
"Created: / 30-07-2011 / 11:41:24 / cg" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
264 |
! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
265 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
266 |
reportXml_junit |
267 | 267 |
"JUnit-like XML unittest report format" |
222 | 268 |
|
269 |
stream |
|
267 | 270 |
nextPutLine: '<?xml version="1.0"?>'; |
271 |
nextPutLine: '<unittest-results>'. |
|
222 | 272 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
273 |
result passed do:[:each|self reportXml_junitTest: each result: #success]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
274 |
result failures do:[:each|self reportXml_junitTest: each result: #failure]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
275 |
result errors do:[:each|self reportXml_junitTest: each result: #error]. |
222 | 276 |
|
277 |
stream |
|
267 | 278 |
nextPutLine: '</unittest-results>' |
279 |
||
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
280 |
"Created: / 30-07-2011 / 11:37:10 / cg" |
222 | 281 |
! |
282 |
||
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
283 |
reportXml_junitTest: test result: testResult |
222 | 284 |
|
285 |
" |
|
286 |
Example: |
|
287 |
<test |
|
267 | 288 |
duration='0.0188629627228' |
289 |
status='error' |
|
290 |
fixture='bitten.tests.web_ui.SourceFileLinkFormatterTestCase' |
|
291 |
name='test_format_link_not_in_repos_with_line' |
|
292 |
file='/usr/src/trac-bitten-0.6b2.dfsg/bitten/tests/web_ui.py'> |
|
222 | 293 |
" |
294 |
||
267 | 295 |
| testClassName executionTime | |
296 |
||
222 | 297 |
testClassName := self sunitNameOf: test class. |
298 |
||
267 | 299 |
"most tests do not know, and return nil here!!" |
300 |
executionTime := test executionTime ? 0.0. |
|
301 |
||
222 | 302 |
stream |
267 | 303 |
nextPutAll:'<test duration="'; nextPutAll:executionTime; nextPutLine:'"'; |
304 |
tab; nextPutAll:'status="'; nextPutAll: testResult; nextPutLine:'"'; |
|
305 |
tab; nextPutAll:'ficture="'; nextPutAll: testClassName; nextPutLine:'"'; |
|
306 |
tab; nextPutAll:'name="'; nextPutAll: test selector; nextPutLine:'"'; |
|
307 |
"It seems that some tools requires the file attributes. So we supply one :-)" |
|
308 |
tab; nextPutAll:'file="'; nextPutAll: testClassName , '.st'; nextPutLine:'">'. |
|
222 | 309 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
310 |
testResult ~= #success ifTrue:[self reportXml_junitTraceback: test]. |
222 | 311 |
|
312 |
stream nextPutLine:'</test>'. |
|
267 | 313 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
314 |
"Created: / 30-07-2011 / 11:37:47 / cg" |
222 | 315 |
! |
316 |
||
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
317 |
reportXml_junitTraceback: test |
222 | 318 |
|
319 |
" |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
320 |
Prints a traceback to the stream. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
321 |
This is dialect-specific, so we have to check... |
222 | 322 |
" |
323 |
||
324 |
"Smalltalk/X dialect detection..." |
|
325 |
((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
326 |
ifTrue:[^self reportXml_junitTracebackStX: test] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
327 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
328 |
"Created: / 30-07-2011 / 11:37:36 / cg" |
222 | 329 |
! |
330 |
||
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
331 |
reportXml_junitTracebackStX: test |
222 | 332 |
stream nextPutLine:'<traceback><!![CDATA['. |
333 |
||
334 |
[ test debug ] |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
335 |
on: GenericException |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
336 |
do: [:ex| |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
337 |
ex suspendedContext fullPrintAllOn: stream]. |
222 | 338 |
|
339 |
stream nextPutLine:']]></traceback>'. |
|
340 |
||
341 |
"Modified: / 07-12-2009 / 14:06:48 / Jan Vrany <jan.vrant@fit.cvut.cz>" |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
342 |
"Created: / 30-07-2011 / 11:37:26 / cg" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
343 |
! ! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
344 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
345 |
!TestResultReporter methodsFor:'reporting - xml-perfPublisher'! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
346 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
347 |
reportXml_perfPublisher |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
348 |
"xml-based format for hudson/jenkins" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
349 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
350 |
|reportName reportCategory testClass startTime| |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
351 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
352 |
reportName := result name. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
353 |
reportCategory := 'uncategorized'. "/ it is a required attribute; so what should we use ? |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
354 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
355 |
(testClass := Smalltalk at:reportName asSymbol) isBehavior ifTrue:[ |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
356 |
reportCategory := testClass category. "/ at least, something to show |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
357 |
]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
358 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
359 |
"/ compute the startTime from the earliest time found in the set of tests |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
360 |
startTime := result timestamp. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
361 |
startTime isNil ifTrue:[ |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
362 |
startTime := (result tests |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
363 |
collect:[:each | each startTime] |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
364 |
thenSelect:[:timeOrNil | timeOrNil notNil]) min. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
365 |
]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
366 |
startTime := (startTime ? Time now) asTime. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
367 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
368 |
stream |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
369 |
nextPutLine: '<?xml version="1.0"?>'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
370 |
nextPutLine:('<report name="%1" categ="%2">' bindWith:reportName with:reportCategory); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
371 |
nextPutLine:(' <start>'); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
372 |
nextPutLine:(' <date format="YYYYMMDD" val="%1">' bindWith:(Date today printStringFormat:'%y%m%d')); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
373 |
nextPutLine:(' <time format="HHMMSS" val="%1">' bindWith:(startTime printStringFormat:'%h%m%s')); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
374 |
nextPutLine:(' </start>'). |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
375 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
376 |
result passed do:[:each|self reportXml_perfPublisher: each result: #success]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
377 |
result failures do:[:each|self reportXml_perfPublisher: each result: #failure]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
378 |
result errors do:[:each|self reportXml_perfPublisher: each result: #error]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
379 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
380 |
stream |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
381 |
nextPutLine: '</report>' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
382 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
383 |
"Created: / 30-07-2011 / 11:45:15 / cg" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
384 |
! |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
385 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
386 |
reportXml_perfPublisher: test result: testResult |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
387 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
388 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
389 |
Example: |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
390 |
<test |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
391 |
name='test_format_link_not_in_repos_with_line' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
392 |
executed='exec-status' |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
393 |
<result> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
394 |
<success passed='result-status' state='result-state'/> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
395 |
</result> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
396 |
</test> |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
397 |
" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
398 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
399 |
| testClassName executionTime testName testDescription executionState |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
400 |
successPassed successState compilerName compilerVersion compilerConfiguration compilerVersionDate timeUnit timeMeasure timeIsRelevant sysInfo osType osVersion cpuType| |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
401 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
402 |
testClassName := self sunitNameOf: test class. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
403 |
testName := test selector. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
404 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
405 |
"most tests do not know, and return nil here!!" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
406 |
executionTime := test executionTime ? 0.0. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
407 |
testDescription := '%1-%2' bindWith:testClassName with:testName. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
408 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
409 |
successPassed := (testResult == #success) ifTrue:['yes'] ifFalse:['no']. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
410 |
successState := 'foo'. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
411 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
412 |
"/ caveat: the following needs to be made dialect-specific |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
413 |
compilerName := 'Smalltalk/X'. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
414 |
compilerVersion := Smalltalk versionString. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
415 |
compilerConfiguration := Smalltalk configuration. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
416 |
compilerVersionDate := Smalltalk versionDate. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
417 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
418 |
sysInfo := OperatingSystem getSystemInfo. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
419 |
osType := (sysInfo at:#osType ifAbsent:'?'). |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
420 |
osVersion := (sysInfo at:#release ifAbsent:'?'). |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
421 |
|
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
422 |
cpuType := (sysInfo at:#cpuType ifAbsent:'?'). |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
423 |
"/ cpuSpeed := (sysInfo at:#cpuSpeed ifAbsent:'?'). |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
424 |
|
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
425 |
stream |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
426 |
nextPutLine:('<test name="%1" executed="yes">' bindWith: testName); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
427 |
nextPutLine:(' <description><!![CDATA[%1]]</description>' bindWith: testDescription); |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
428 |
nextPutLine:' <platform>'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
429 |
nextPutLine:' <os>'; |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
430 |
nextPutLine:(' <type><!![CDATA[%1]]></type>' bindWith:osType); |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
431 |
nextPutLine:(' <version><!![CDATA[%1]]></version>' bindWith:osVersion); |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
432 |
nextPutLine:' </os>'; |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
433 |
nextPutLine:(' <processor arch="%1">' bindWith:cpuType); |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
434 |
"/ nextPutLine:(' <frequency> unit="Mhz" cpufreq="%1" />' bindWith:cpuSpeed); |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
435 |
nextPutLine:' </processor>'; |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
436 |
nextPutLine:(' <compiler name="%1" version="%2" versiondate="%3" configuration="%4" />' |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
437 |
bindWith:compilerName with:compilerVersion |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
438 |
with:compilerVersionDate with:compilerConfiguration); |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
439 |
"/ nextPutLine:' <environment />'; |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
440 |
nextPutLine:' </platform>'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
441 |
nextPutLine:' <result>'; |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
442 |
nextPutLine:(' <success passed="%1" state="100" />' |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
443 |
bindWith:successPassed with:successState); |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
444 |
nextPutLine:(' <executiontime unit="" mesure="" measure="" isRelevant="" />' |
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
445 |
bindWith:timeUnit with:timeMeasure with:timeIsRelevant); |
272
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
446 |
nextPutLine:' </result>'. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
447 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
448 |
"/ |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
449 |
"/ nextPutAll:'duration="'; nextPutAll:executionTime; nextPutLine:'"'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
450 |
"/ tab; nextPutAll:'status="'; nextPutAll: testResult; nextPutLine:'"'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
451 |
"/ tab; nextPutAll:'ficture="'; nextPutAll: testClassName; nextPutLine:'"'; |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
452 |
"/ "It seems that some tools requires the file attributes. So we supply one :-)" |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
453 |
"/ tab; nextPutAll:'file="'; nextPutAll: testClassName , '.st'; nextPutLine:'">'. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
454 |
"/ |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
455 |
"/ testResult ~= #success ifTrue:[self reportXml_junitTraceback: test]. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
456 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
457 |
stream nextPutLine:'</test>'. |
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
458 |
|
492c13b42f3b
unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
459 |
"Created: / 30-07-2011 / 12:19:03 / cg" |
222 | 460 |
! ! |
461 |
||
462 |
!TestResultReporter methodsFor:'utilities'! |
|
463 |
||
464 |
sunitNameOf: aClass |
|
465 |
||
466 |
"No all SUnit versions comes with sunitName |
|
467 |
(at least Smalltalk/X 3.1)" |
|
468 |
||
469 |
^(aClass respondsTo:#sunitName) |
|
470 |
ifTrue:[aClass sunitName] |
|
471 |
ifFalse:[aClass printString] |
|
472 |
! ! |
|
473 |
||
474 |
!TestResultReporter class methodsFor:'documentation'! |
|
475 |
||
476 |
version |
|
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
477 |
^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.5 2011-07-30 17:51:24 cg Exp $' |
268
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
478 |
! |
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
479 |
|
02c41854a7b8
added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents:
267
diff
changeset
|
480 |
version_CVS |
273
72af4634684c
changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents:
272
diff
changeset
|
481 |
^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.5 2011-07-30 17:51:24 cg Exp $' |
222 | 482 |
! |
483 |
||
484 |
version_SVN |
|
485 |
^ '§Id§' |
|
486 |
! ! |