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