author | mawalch |
Mon, 03 Apr 2017 07:15:26 +0200 | |
changeset 17486 | 80f1e777dcaa |
parent 12763 | 37d514cde1d5 |
child 12807 | ba8c5416aa28 |
permissions | -rw-r--r-- |
9952 | 1 |
" |
10091 | 2 |
Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague |
3 |
Copyright (c) 2009-2010 eXept Software AG |
|
9952 | 4 |
|
10091 | 5 |
Permission is hereby granted, free of charge, to any person |
6 |
obtaining a copy of this software and associated documentation |
|
7 |
files (the 'Software'), to deal in the Software without |
|
8 |
restriction, including without limitation the rights to use, |
|
9 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
10 |
copies of the Software, and to permit persons to whom the |
|
11 |
Software is furnished to do so, subject to the following |
|
12 |
conditions: |
|
13 |
||
14 |
The above copyright notice and this permission notice shall be |
|
15 |
included in all copies or substantial portions of the Software. |
|
16 |
||
17 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
|
18 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
19 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
20 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
21 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
22 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
23 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
24 |
OTHER DEALINGS IN THE SOFTWARE. |
|
9952 | 25 |
" |
26 |
"{ Package: 'stx:libtool' }" |
|
27 |
||
10611 | 28 |
"{ NameSpace: Tools }" |
29 |
||
9952 | 30 |
ApplicationModel subclass:#AbstractTestRunner |
10611 | 31 |
instanceVariableNames:'' |
32 |
classVariableNames:'NotRunColor PassedColor FailureColor ErrorColor |
|
33 |
CurrentlyRunningColor' |
|
34 |
poolDictionaries:'' |
|
35 |
category:'SUnit-UI' |
|
10604 | 36 |
! |
37 |
||
9952 | 38 |
!AbstractTestRunner class methodsFor:'documentation'! |
39 |
||
40 |
copyright |
|
41 |
" |
|
10091 | 42 |
Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague |
43 |
Copyright (c) 2009-2010 eXept Software AG |
|
44 |
||
45 |
Permission is hereby granted, free of charge, to any person |
|
46 |
obtaining a copy of this software and associated documentation |
|
47 |
files (the 'Software'), to deal in the Software without |
|
48 |
restriction, including without limitation the rights to use, |
|
49 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
50 |
copies of the Software, and to permit persons to whom the |
|
51 |
Software is furnished to do so, subject to the following |
|
52 |
conditions: |
|
9952 | 53 |
|
10091 | 54 |
The above copyright notice and this permission notice shall be |
55 |
included in all copies or substantial portions of the Software. |
|
56 |
||
57 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
|
58 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
59 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
60 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
61 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
62 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
63 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
64 |
OTHER DEALINGS IN THE SOFTWARE. |
|
9952 | 65 |
" |
66 |
! ! |
|
67 |
||
68 |
!AbstractTestRunner class methodsFor:'initialization'! |
|
69 |
||
70 |
initialize |
|
71 |
"Invoked at system start or when the class is dynamically loaded." |
|
72 |
||
10167
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
73 |
CurrentlyRunningColor := Color yellow. |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
74 |
NotRunColor := Color redByte:145 greenByte:145 blueByte:145. |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
75 |
PassedColor := Color redByte:92 greenByte:166 blueByte:92. |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
76 |
FailureColor := Color redByte:194 greenByte:110 blueByte:110. |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
77 |
ErrorColor := FailureColor |
9952 | 78 |
|
79 |
"Modified: / 15-03-2010 / 21:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
10167
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
80 |
"Modified: / 05-07-2011 / 14:12:34 / cg" |
9952 | 81 |
! ! |
82 |
||
83 |
!AbstractTestRunner class methodsFor:'accessing'! |
|
84 |
||
10167
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
85 |
currentlyRunningColor |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
86 |
^ CurrentlyRunningColor |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
87 |
|
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
88 |
"Created: / 05-07-2011 / 14:12:04 / cg" |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
89 |
! |
32f3659ee1aa
changed: #resultBackgroundColorAspect
Claus Gittinger <cg@exept.de>
parents:
10091
diff
changeset
|
90 |
|
9952 | 91 |
errorColor |
92 |
^ ErrorColor |
|
93 |
||
94 |
"Created: / 07-02-2010 / 14:43:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
95 |
"Modified: / 15-03-2010 / 21:53:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
96 |
! |
|
97 |
||
98 |
failedColor |
|
99 |
^ FailureColor |
|
100 |
||
101 |
"Modified: / 15-03-2010 / 21:53:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
102 |
! |
|
103 |
||
104 |
notRunColor |
|
105 |
^ NotRunColor |
|
106 |
||
107 |
"Created: / 15-03-2010 / 09:55:26 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
108 |
"Modified: / 15-03-2010 / 21:53:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
109 |
! |
|
110 |
||
111 |
passedColor |
|
112 |
^ PassedColor |
|
113 |
||
114 |
"Modified: / 15-03-2010 / 21:54:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
115 |
! ! |
|
116 |
||
117 |
!AbstractTestRunner methodsFor:'private'! |
|
118 |
||
119 |
buildSuiteFromClass:testCaseCls |
|
120 |
||
121 |
^testCaseCls asTestCase buildSuite |
|
122 |
||
123 |
"Modified: / 04-03-2011 / 08:22:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
124 |
! |
|
125 |
||
126 |
isTestCaseLike:cls |
|
127 |
||
128 |
^cls isTestCaseLike |
|
129 |
||
130 |
"Modified: / 28-02-2011 / 21:31:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
131 |
! ! |
|
132 |
||
133 |
!AbstractTestRunner methodsFor:'utilities'! |
|
134 |
||
135 |
suiteNameFromClasses: classes |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
136 |
|numClasses| |
9952 | 137 |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
138 |
(numClasses := classes size) == 1 ifTrue: |
9952 | 139 |
[^classes anyOne nameWithoutPrefix]. |
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
140 |
numClasses == 2 ifTrue: |
9952 | 141 |
[^String streamContents: |
142 |
[:s|classes |
|
143 |
do:[:cls|s nextPutAll: cls nameWithoutPrefix] |
|
144 |
separatedBy:[s nextPutAll:' & ']]]. |
|
145 |
||
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
146 |
^numClasses printString , ' test cases'. |
9952 | 147 |
|
148 |
"Created: / 15-03-2010 / 13:23:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
149 |
! |
|
150 |
||
151 |
suiteNameFromMethods: methods |
|
11849
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
152 |
|numMethods| |
9952 | 153 |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
154 |
(numMethods := methods size) == 1 ifTrue:[^ methods anyOne selector]. |
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
155 |
|
11849
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
156 |
^numMethods printString , ' tests from ' , |
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
157 |
(self suiteNameFromClasses: |
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
158 |
(methods |
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
159 |
collect:[:m|m mclass] |
d2f4dee8391f
changed: #suiteNameFromMethods:
Claus Gittinger <cg@exept.de>
parents:
10836
diff
changeset
|
160 |
thenSelect:[:c | c notNil]) asSet) |
9952 | 161 |
|
162 |
"Created: / 15-03-2010 / 13:22:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
163 |
! |
|
164 |
||
165 |
suiteNameFromProtocols: protocols |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
166 |
|numProtocols| |
9952 | 167 |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
168 |
(numProtocols := protocols size) == 0 ifTrue:[ |
10836 | 169 |
^'tests' |
170 |
]. |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
171 |
numProtocols == 1 ifTrue:[ |
10836 | 172 |
protocols anyOne notNil ifTrue:[ |
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
173 |
^'category "', protocols anyOne , '"' |
10836 | 174 |
] ifFalse:[ |
175 |
^'tests' |
|
176 |
] |
|
177 |
]. |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
178 |
^numProtocols printString , ' categories' |
9952 | 179 |
|
180 |
"Created: / 15-03-2010 / 13:22:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
10836 | 181 |
"Modified: / 18-10-2011 / 22:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9952 | 182 |
! ! |
183 |
||
184 |
!AbstractTestRunner class methodsFor:'documentation'! |
|
185 |
||
10604 | 186 |
version |
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
187 |
^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $' |
10604 | 188 |
! |
189 |
||
9952 | 190 |
version_CVS |
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
191 |
^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $' |
9952 | 192 |
! |
193 |
||
194 |
version_SVN |
|
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
195 |
^ '$Id: Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $' |
9952 | 196 |
! ! |
197 |
||
12763
37d514cde1d5
class: Tools::AbstractTestRunner
Claus Gittinger <cg@exept.de>
parents:
11849
diff
changeset
|
198 |
|
9952 | 199 |
AbstractTestRunner initialize! |