TestSuite.st
author Claus Gittinger <cg@exept.de>
Thu, 13 Jul 2017 15:10:46 +0200
changeset 683 422655e65558
parent 602 4515cb08bdd7
child 691 6bb8fca6b69b
permissions -rw-r--r--
#REFACTORING by cg class: TestSuite changed: #run:beforeEachDo:afterEachDo:resetResources:debug: (send #ensure: instead of #sunitEnsure:)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
602
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
     3
"{ NameSpace: Smalltalk }"
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
     4
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
Object subclass:#TestSuite
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
     6
	instanceVariableNames:'tests resources name'
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
     9
	category:'SUnit-Base'
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    12
TestSuite comment:''
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    13
!
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
    14
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    15
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    16
!TestSuite class methodsFor:'instance creation'!
56
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    17
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    18
named: aString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    19
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    20
	^self new
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    21
		name: aString;
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    22
		yourself
56
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    23
! !
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    24
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 62
diff changeset
    25
!TestSuite methodsFor:'accessing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
addTest: aTest
450
01a9cd80d06a changed: #addTest: (debugging code removed)
vrany
parents: 437
diff changeset
    28
    self tests add: aTest
437
f3377966b213 changed: #addTest:
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
    29
f3377966b213 changed: #addTest:
Claus Gittinger <cg@exept.de>
parents: 432
diff changeset
    30
    "Modified: / 16-01-2012 / 14:07:03 / cg"
450
01a9cd80d06a changed: #addTest: (debugging code removed)
vrany
parents: 437
diff changeset
    31
    "Modified: / 02-08-2012 / 11:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    32
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    34
addTests: aCollection
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    35
	aCollection do: [:eachTest | self addTest: eachTest]
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    36
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
47
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    38
defaultResources
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    39
	^self tests
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    40
		inject: OrderedCollection new
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    41
		into:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    42
			[:coll :testCase |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    43
			testCase resources do:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    44
				[:each |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    45
				(coll includes: each) ifFalse: [coll add: each]].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    46
			coll]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    47
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    48
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    49
getTestName
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    50
    ^self name
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    51
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    52
    "Created: / 12-09-2006 / 11:38:09 / cg"
47
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    53
!
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    54
37
6da5b7e8e3ab better update (name)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    55
name
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    56
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    57
	^name
37
6da5b7e8e3ab better update (name)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    58
!
6da5b7e8e3ab better update (name)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    59
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    60
name: aString
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    61
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
    62
	name := aString
37
6da5b7e8e3ab better update (name)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    63
!
6da5b7e8e3ab better update (name)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    64
137
b6e0d451b091 *** empty log message ***
boris
parents: 122
diff changeset
    65
nameOfTest
b6e0d451b091 *** empty log message ***
boris
parents: 122
diff changeset
    66
    ^ self name
b6e0d451b091 *** empty log message ***
boris
parents: 122
diff changeset
    67
!
b6e0d451b091 *** empty log message ***
boris
parents: 122
diff changeset
    68
47
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    69
resources
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    70
	resources isNil ifTrue: [resources := self defaultResources].
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    71
	^resources
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    72
!
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    73
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    74
resources: someOrderedTestResourceClasses
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    75
	"The parameter should understand reverseDo: and should not contain duplicates."
47
7ea89e89bad3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    76
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    77
	resources := someOrderedTestResourceClasses
140
d61c515f8a58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    78
!
d61c515f8a58 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    79
306
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    80
testCount
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    81
327
075e4bb5fa23 fix in #testCount
vrany
parents: 306
diff changeset
    82
    ^tests notNil ifTrue:[
075e4bb5fa23 fix in #testCount
vrany
parents: 306
diff changeset
    83
        tests inject:0 into:[:count :test|count + test testCount]
075e4bb5fa23 fix in #testCount
vrany
parents: 306
diff changeset
    84
    ] ifFalse:[
075e4bb5fa23 fix in #testCount
vrany
parents: 306
diff changeset
    85
        0
075e4bb5fa23 fix in #testCount
vrany
parents: 306
diff changeset
    86
    ]
306
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    87
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    88
    "Created: / 04-08-2011 / 13:03:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    89
!
fba6c068becb added testCount to TestCase & TestSuite
vrany
parents: 301
diff changeset
    90
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
tests
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
	tests isNil ifTrue: [tests := OrderedCollection new].
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    93
	^tests
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    94
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 62
diff changeset
    96
!TestSuite methodsFor:'dependencies'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
addDependentToHierachy: anObject
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
    99
	self sunitAddDependent: anObject.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   100
	self tests do: [ :each | each addDependentToHierachy: anObject]
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
removeDependentFromHierachy: anObject
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   104
	self sunitRemoveDependent: anObject.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   105
	self tests do: [ :each | each removeDependentFromHierachy: anObject]
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
122
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   108
!TestSuite methodsFor:'queries'!
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   109
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   110
isTestCase
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   111
    ^ false
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   112
!
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   113
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   114
isTestSuite
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   115
    ^ true
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   116
! !
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   117
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 62
diff changeset
   118
!TestSuite methodsFor:'running'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
602
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   120
debug
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   121
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   122
    ^self run: TestResult defaultResultClass new debug:true.
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   123
!
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   124
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
run
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   126
459
d2862af59031 use TestResultForSTX in SUnit runner
Claus Gittinger <cg@exept.de>
parents: 450
diff changeset
   127
    ^self run: TestResult defaultResultClass new.
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   128
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   129
    "Modified: / 29-07-2011 / 09:34:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   130
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   132
run:aTestResult
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   133
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   134
    ^self run: aTestResult 
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   135
        beforeEachDo: [:test :result|] 
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   136
        afterEachDo: [:test :result|]
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   137
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   138
    "Modified: / 29-07-2011 / 09:59:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
40
b27893ae4b99 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 37
diff changeset
   139
!
b27893ae4b99 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 37
diff changeset
   140
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   141
run:result beforeEachDo: before afterEachDo: after
280
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   142
    ^ self
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   143
        run:result 
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   144
        beforeEachDo:before afterEachDo:after 
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   145
        resetResources:true
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   146
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   147
    "Modified: / 29-07-2011 / 12:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   148
    "Modified: / 31-07-2011 / 13:58:08 / cg"
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   149
!
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   150
432
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   151
run:result beforeEachDo: before afterEachDo: after debug:doDebug
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   152
    ^ self
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   153
        run:result 
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   154
        beforeEachDo:before afterEachDo:after 
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   155
        resetResources:true
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   156
        debug:doDebug
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   157
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   158
    "Modified: / 29-07-2011 / 12:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   159
    "Modified: / 31-07-2011 / 13:58:08 / cg"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   160
    "Created: / 21-08-2011 / 17:56:57 / cg"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   161
!
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   162
280
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   163
run:result beforeEachDo:before afterEachDo:after resetResources:resetResources
432
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   164
    ^ self
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   165
        run:result  
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   166
        beforeEachDo:before 
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   167
        afterEachDo:after 
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   168
        resetResources:resetResources 
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   169
        debug:false
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   170
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   171
    "Created: / 31-07-2011 / 13:57:25 / cg"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   172
    "Modified: / 03-08-2011 / 14:11:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   173
    "Modified: / 21-08-2011 / 17:56:16 / cg"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   174
!
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   175
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   176
run:result beforeEachDo:before afterEachDo:after resetResources:resetResources debug:doDebug
271
6b971d5e95b8 changed: #run:beforeEachDo:afterEachDo:
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
   177
    result timestamp:(Timestamp now).
503
1c01dfe637de class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
   178
    result name isNil ifTrue:[ result name:name ].  "will only change once"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   179
    [
243
cbce69b15370 changed: #run:beforeEachDo:afterEachDo:
Claus Gittinger <cg@exept.de>
parents: 238
diff changeset
   180
        self tests do:[:each |
cbce69b15370 changed: #run:beforeEachDo:afterEachDo:
Claus Gittinger <cg@exept.de>
parents: 238
diff changeset
   181
            self sunitChanged:each.
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   182
            each run:result 
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   183
                beforeEachDo: before 
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   184
                afterEachDo: after 
432
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   185
                resetResources: false "I'll reset it, see the ensure below"
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   186
                debug:doDebug
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   187
        ]
683
422655e65558 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 602
diff changeset
   188
    ] ensure:[
280
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   189
        resetResources ifTrue:[
f64ce19e2b41 added: #run:beforeEachDo:afterEachDo:resetResources:
Claus Gittinger <cg@exept.de>
parents: 271
diff changeset
   190
            TestResource resetResources: self resources
301
921572c655e1 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 281
diff changeset
   191
        ].
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   192
    ].
480
b6a4cee3ac7e changed: #run:beforeEachDo:afterEachDo:resetResources:debug:
Claus Gittinger <cg@exept.de>
parents: 459
diff changeset
   193
    result endTime:(Timestamp now).
202
46947f02aaa4 changed #run:beforeEachDo:afterEachDo:
fm
parents: 164
diff changeset
   194
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   195
    ^result
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   196
301
921572c655e1 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 281
diff changeset
   197
    "Modified: / 03-08-2011 / 14:11:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
432
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
   198
    "Created: / 21-08-2011 / 17:56:00 / cg"
683
422655e65558 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 602
diff changeset
   199
    "Modified: / 13-07-2017 / 14:03:29 / cg"
122
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   200
!
61e456491017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   201
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   202
run:aResult beforeEachTestCaseDo:block1 afterEachTestCaseDo:block2
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   203
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   204
    <resource: #obsolete>
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   205
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   206
    ^self run: aResult beforeEachDo: block1 afterEachDo: block2
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   207
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   208
    "Modified: / 29-07-2011 / 09:49:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
238
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   209
!
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   210
602
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   211
run:aTestResult debug:debug
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   212
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   213
    ^self run: aTestResult 
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   214
        beforeEachDo: [:test :result|] 
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   215
        afterEachDo: [:test :result|]
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   216
        debug:debug
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   217
!
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   218
281
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   219
runBeforeEachDo:block1 
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   220
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   221
    ^self runBeforeEachDo:block1 afterEachDo:[]
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   222
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   223
    "Modified: / 29-07-2011 / 09:51:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   224
    "Created: / 01-08-2011 / 09:42:29 / cg"
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   225
!
608f3a58b3a7 added: #runBeforeEachDo:
Claus Gittinger <cg@exept.de>
parents: 280
diff changeset
   226
238
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   227
runBeforeEachDo:block1 afterEachDo: block2
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   228
459
d2862af59031 use TestResultForSTX in SUnit runner
Claus Gittinger <cg@exept.de>
parents: 450
diff changeset
   229
    ^self run: TestResult defaultResultClass new beforeEachDo: block1 afterEachDo: block2
238
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   230
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   231
    "Created: / 05-07-2011 / 16:51:25 / cg"
263
31c7107b5edd TestSuite/TestCase run* method refactored (cleanup, possible bug fixes)
vrany
parents: 243
diff changeset
   232
    "Modified: / 29-07-2011 / 09:51:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 62
diff changeset
   235
!TestSuite methodsFor:'testing'!
49
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   236
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   237
areAllResourcesAvailable
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   238
	^self resources
49
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   239
		inject: true
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   240
		into: [:total :each | each isAvailable & total]
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   241
!
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   242
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   243
signalUnavailableResources
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   244
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   245
    self resources do:[:res |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   246
	res isAvailable ifFalse:[
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   247
	    ^ res signalInitializationError
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   248
	]
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 94
diff changeset
   249
    ].
49
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   250
! !
91ba780c656f resource allocation from 3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   251
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   252
!TestSuite class methodsFor:'documentation'!
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   253
243
cbce69b15370 changed: #run:beforeEachDo:afterEachDo:
Claus Gittinger <cg@exept.de>
parents: 238
diff changeset
   254
version_CVS
683
422655e65558 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 602
diff changeset
   255
    ^ '$Header$'
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   256
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   257
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 202
diff changeset
   258
version_SVN
683
422655e65558 #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 602
diff changeset
   259
    ^ '$Id$'
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   260
! !
602
4515cb08bdd7 class: TestSuite
Claus Gittinger <cg@exept.de>
parents: 503
diff changeset
   261