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