TestResult.st
author Claus Gittinger <cg@exept.de>
Sun, 27 May 2012 12:51:18 +0200
changeset 444 c1f0f17a9e21
parent 438 ceb3517dcae7
child 446 4d4b49d09e2f
permissions -rw-r--r--
changed: #runCase:debugged: on Abort, do so
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:#TestResult
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
     4
	instanceVariableNames:'name timestamp failures errors passed outcome'
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
     5
	classVariableNames:'DefaultClass'
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
     6
	poolDictionaries:''
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
     7
	category:'SUnit-Base'
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
     8
!
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
     9
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    10
TestResult comment:''
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
336
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    13
!TestResult class methodsFor:'documentation'!
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    14
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    15
documentation
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    16
"
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    17
    runInfoPerTest:
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    18
        will keep additional info for a testCase run:
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    19
            startTime, endTime, backtrace (if fail or error) and collectedStdout
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    20
"
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    21
! !
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
    22
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    23
!TestResult class methodsFor:'instance creation'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    24
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    25
new
405
vrany
parents: 347
diff changeset
    26
vrany
parents: 347
diff changeset
    27
    self sunitName == #TestCase ifTrue:[
vrany
parents: 347
diff changeset
    28
        ^ self defaultResultClass basicNew initialize.
vrany
parents: 347
diff changeset
    29
    ] ifFalse:[
vrany
parents: 347
diff changeset
    30
        ^ self basicNew initialize
vrany
parents: 347
diff changeset
    31
    ].
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    32
405
vrany
parents: 347
diff changeset
    33
    "
vrany
parents: 347
diff changeset
    34
        TestResult new.
vrany
parents: 347
diff changeset
    35
        TestResultForRunWithDebug new.
vrany
parents: 347
diff changeset
    36
    "
vrany
parents: 347
diff changeset
    37
vrany
parents: 347
diff changeset
    38
    "Modified (comment): / 20-08-2011 / 17:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    39
! !
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    40
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    41
!TestResult class methodsFor:'*Orca-Core'!
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    42
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    43
requiredClasses 
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    44
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    45
	^ { TimeStamp }
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    46
! !
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
    47
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    48
!TestResult class methodsFor:'accessing'!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    49
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    50
defaultResultClass
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    51
    DefaultClass notNil ifTrue:[^DefaultClass].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    52
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    53
    ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    54
        DefaultClass := TestResultStX.
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    55
        ^DefaultClass
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    56
    ].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    57
    "Add more dialects here, if you want..."
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    58
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    59
    "Default"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    60
    DefaultClass := self.
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    61
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    62
    "Created: / 16-08-2011 / 15:02:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    63
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    64
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
    65
!TestResult class methodsFor:'exceptions'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
error
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    68
	^self exError
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
exError
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    72
	^SUnitNameResolver errorObject
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
failure
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    76
	^TestFailure
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    77
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    79
resumableFailure
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    80
	^ResumableTestFailure
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    83
signalErrorWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    84
	self error sunitSignalWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    85
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    87
signalFailureWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    88
	self failure sunitSignalWith: aString
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
    91
!TestResult methodsFor:'accessing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
defects
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    94
	^OrderedCollection new
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    95
		addAll: self errors;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    96
		addAll: self failures; yourself
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
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
errorCount
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   100
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   101
        ^self errorOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   102
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   103
    "Modified: / 16-08-2011 / 15:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   104
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   105
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   106
errorOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   107
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   108
    errors isNil ifTrue: [errors := OrderedCollection new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   109
    ^errors
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   110
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   111
    "Created: / 16-08-2011 / 15:55:42 / 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
   112
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
errors
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   115
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   116
    errors isNil ifTrue: [^#()].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   117
    ^errors collect:[:outcome|outcome testCase]
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   118
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   119
    "Modified: / 16-08-2011 / 15:54: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
   120
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   122
exceptions
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   123
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   124
    "Returns a set of exceptions to be handled. Bu default,
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   125
     failure and generic error is handled. This method may
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   126
     be overriden by custom TestResult subclasses to add more.
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   127
     For example, a 'self halt' is not handled by default
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   128
     exceptions set"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   129
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   130
    ^self class failure , self class error
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   131
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   132
    "Created: / 03-08-2011 / 14:11:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   133
!
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   134
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
failureCount
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   137
        ^self failureOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   138
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   139
    "Modified: / 16-08-2011 / 15:58:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   140
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   141
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   142
failureOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   143
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   144
    failures isNil ifTrue: [failures := Set new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   145
    ^failures
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   146
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   147
    "Created: / 16-08-2011 / 15:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
failures
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   151
        "We use a Set, not an OrderedCollection as #errors and #passed do, because a resumable test failure in a loop can raise many failures against the same test.  In current Sunit UIs, this could result in bizarre test count reporting (-27 tests run, and suchlike).  This will be reviewed."
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   152
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   153
    failures isNil ifTrue: [^#()].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   154
    ^failures collect:[:outcome|outcome testCase]
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   155
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   156
    "Modified: / 16-08-2011 / 15:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   157
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   158
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   159
name
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   160
    ^ name
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   161
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   162
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   163
name:aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   164
    name := aString.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   165
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   167
outcomes
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   168
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   169
    ^OrderedCollection new
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   170
        addAll: failures;
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   171
        addAll: errors;
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   172
        addAll: passed;
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   173
        yourself
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   174
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   175
    "Created: / 20-08-2011 / 14:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   176
!
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   177
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   178
outcomesDo: aBlock
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   179
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   180
    failures notNil ifTrue:[failures do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   181
    errors notNil ifTrue:[errors do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   182
    passed notNil ifTrue:[passed do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   183
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   184
    "Created: / 20-08-2011 / 14:01:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   185
!
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   186
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   187
passed
434
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   188
        passed isNil ifTrue: [
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   189
            "/ cg: exposed and added to (see TestRunnerEmbedded>>debug)
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   190
            passed := OrderedCollection new.
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   191
            ^ passed.
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   192
        ].
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   193
        ^passed collect:[:outcome|outcome testCase]
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   194
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   195
    "Modified: / 16-08-2011 / 15:54:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
434
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   196
    "Modified: / 07-11-2011 / 11:19:57 / cg"
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   197
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   198
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   199
passedCount
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   200
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   201
        ^self passedOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   202
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   203
    "Modified: / 16-08-2011 / 15:58:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   204
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   205
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   206
passedOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   207
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   208
    passed isNil ifTrue: [passed := OrderedCollection new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   209
    ^passed
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   210
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   211
    "Created: / 16-08-2011 / 15:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   212
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   213
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
runCount
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   215
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   216
	^self passedCount + self failureCount + self errorCount
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   217
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   218
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   219
testOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   220
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   221
        ^(OrderedCollection new: self runCount)
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   222
                addAll: self passedOutcomes;
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   223
                addAll: self errorOutcomes;
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   224
                addAll: self failureOutcomes;
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   225
                yourself
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   226
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   227
    "Created: / 16-08-2011 / 16:42:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   228
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   229
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   230
tests
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   231
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   232
	^(OrderedCollection new: self runCount)
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   233
		addAll: self passed;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   234
		addAll: self errors;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   235
		addAll: self failures;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   236
		yourself
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   237
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   238
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   239
timestamp
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   240
    ^ timestamp
270
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   241
!
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   242
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   243
timestamp:something
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   244
    timestamp := something.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   245
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   247
!TestResult methodsFor:'adding / removing'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   248
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   249
addError:testcase detail:detail 
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   250
    "Called when a test outcome is error. testCase 
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   251
     is the errorneous testcase, detail is platform
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   252
     specific object describing the error. Actually,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   253
     on all platforms exept GemStone, detail is an instance
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   254
     of an exception that caused the error"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   255
    "JV2011-08-03: TODO: Validate the comment above with GS,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   256
     possibly change name to 'exception'"
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   257
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   258
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   259
    outcome result: #error.
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   260
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   261
    ^ self errorOutcomes add:outcome.
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   262
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   263
    "Created: / 03-08-2011 / 13:50:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   264
    "Modified: / 06-08-2011 / 09:46:41 / cg"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   265
    "Modified: / 20-08-2011 / 12:46:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   266
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   267
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   268
addFailure:testcase detail:detail 
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   269
    "Called when a test fails. testCase is the failed 
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   270
     testcase, detail is platform specific object describing
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   271
     the failure. Actually, on all platforms exept GemStone,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   272
     detail is an instance of an exception that caused the failure"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   273
    "JV2011-08-03: TODO: Validate the comment above with GS,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   274
     possibly change name to 'exception'"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   275
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   276
     "Special handling here, because failures can be resumable"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   277
    self failureOutcomes do:[:outcome | 
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   278
        outcome testCase = testcase ifTrue:[
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   279
            ^ self
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   280
        ].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   281
    ].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   282
    outcome result: #fail.
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   283
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   284
    ^ self failureOutcomes add: outcome
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   285
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   286
    "Created: / 03-08-2011 / 13:53:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   287
    "Modified: / 06-08-2011 / 09:55:17 / cg"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   288
    "Modified: / 20-08-2011 / 12:46:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   289
!
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   290
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   291
addPass:testCase 
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   292
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   293
    outcome result: #pass.
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   294
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   295
    ^ self passedOutcomes add: outcome
325
76240d956e7d changed: #rememberExceptionIn:detail:
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
   296
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   297
    "Modified: / 20-08-2011 / 12:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   298
!
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   299
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   300
remove: aTestCase
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   301
    "Removes an outcome for given testcase, if any.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   302
    Use with care."
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   303
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   304
    | remover |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   305
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   306
    remover := [:outcomes|
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   307
        | o |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   308
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   309
        outcomes notNil ifTrue:[
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   310
            o := outcomes detect:[:each|each testCase == aTestCase] ifNone: [nil].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   311
            o notNil ifTrue:[outcomes remove: o. ^self].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   312
        ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   313
    ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   314
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   315
    remover value: errors.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   316
    remover value: failures.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   317
    remover value: passed.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   318
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   319
    "Created: / 16-01-2012 / 20:36:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   320
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   321
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   322
!TestResult methodsFor:'deprecated'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   323
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   324
correctCount
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   325
	"deprecated - use #passedCount"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   326
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   327
	^self passedCount
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   328
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   329
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   330
!TestResult methodsFor:'initialize-release'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
initialize
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   333
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   335
!TestResult methodsFor:'outcome'!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   336
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   337
createOutcome
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   338
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   339
    ^TestCaseOutcome new.
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   341
    "Created: / 16-08-2011 / 17:14:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   342
!
297
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   343
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   344
rememberEndTime
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   345
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   346
    ^nil
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   347
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   348
    "Created: / 16-08-2011 / 17:31:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   349
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   350
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   351
rememberException:detail
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   352
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   353
    "Created: / 16-08-2011 / 17:35:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   354
!
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   355
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   356
rememberStartTime
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   357
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   358
    ^nil
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   359
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   360
    "Created: / 16-08-2011 / 17:31:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   361
! !
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   362
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   363
!TestResult methodsFor:'printing'!
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   364
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
printOn: aStream
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   366
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   367
	aStream
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   368
		nextPutAll: self runCount printString;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   369
		nextPutAll: ' run, ';
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   370
		nextPutAll: self correctCount printString;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   371
		nextPutAll: ' passed, ';
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   372
		nextPutAll: self failureCount printString;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   373
		nextPutAll: ' failed, ';
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   374
		nextPutAll: self errorCount printString;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   375
		nextPutAll: ' error'.
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   376
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   377
	self errorCount ~= 1
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   378
		ifTrue: [aStream nextPut: $s]
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   381
!TestResult methodsFor:'running'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
303
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   383
performCase:aTestCase 
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   384
    "Actually performs the case. The TestCase>>runCase itself calls
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   385
     a setUp/tearDown methods. The possible error/failure is handled
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   386
     in TestResult>>runCase:. This method is meant to be overriden by
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   387
     custom TestResult subclasses."
303
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   388
    
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   389
    aTestCase runCase.
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   390
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   391
    "Modified: / 02-08-2011 / 18:10:09 / cg"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   392
    "Created: / 03-08-2011 / 14:02:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   393
!
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   394
303
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   395
runCase:aTestCase 
316
d01820e6d817 changed:
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   396
    "run a testcase, catching exceptions"
d01820e6d817 changed:
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   397
429
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   398
    self runCase:aTestCase debugged:false
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   399
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   400
    "Modified: / 16-08-2011 / 17:35:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   401
    "Modified: / 21-08-2011 / 17:48:28 / cg"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   402
!
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   403
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   404
runCase:aTestCase debugged:debugged
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   405
    "run a testcase, debugging exceptions"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   406
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   407
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   408
    [
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   409
        [ 
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   410
            outcome := self createOutcome.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   411
            outcome testCase: aTestCase.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   412
            self rememberStartTime.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   413
            self performCase:aTestCase.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   414
            self rememberEndTime.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   415
            self addPass:aTestCase.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   416
            outcome := nil.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   417
        ] sunitOn:self exceptions do: [:ex |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   418
            self rememberEndTime.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   419
            self rememberException: ex.
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
   420
            (AbortSignal accepts: ex signal) ifTrue:[ex reject].
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   421
            debugged ifTrue:[ ex reject ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   422
            ex sunitAnnounce:aTestCase toResult:self.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   423
        ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   424
    ] sunitOn: self exceptions do:[:ex|
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
   425
        (AbortSignal accepts: ex signal) ifTrue:[ex reject].
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   426
        self remove: aTestCase.
431
Claus Gittinger <cg@exept.de>
parents: 429
diff changeset
   427
        debugged ifTrue:[ ex reject ].
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   428
        ex sunitAnnounce:aTestCase toResult:self.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   429
    ]
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   430
429
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   431
    "Created: / 21-08-2011 / 17:48:19 / cg"
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   432
    "Modified: / 16-01-2012 / 20:37:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
   433
    "Modified: / 27-05-2012 / 11:02:07 / cg"
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   436
!TestResult methodsFor:'testing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   438
hasErrors
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   439
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   440
	^self errors size > 0
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   441
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   442
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   443
hasFailures
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   444
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   445
	^self failures size > 0
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   446
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   447
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
hasPassed
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   449
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   450
	^self hasErrors not and: [self hasFailures not]
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   451
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   452
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   453
isError: aTestCase
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   454
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   455
	^self errors includes: aTestCase
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   456
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
isFailure: aTestCase
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   459
	^self failures includes: aTestCase
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   460
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   461
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   462
isPassed: aTestCase
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   463
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   464
	^self passed includes: aTestCase
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   465
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   467
!TestResult class methodsFor:'documentation'!
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   468
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   469
version
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
   470
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResult.st,v 1.40 2012-05-27 10:51:18 cg Exp $'
297
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   471
!
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   472
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   473
version_CVS
444
c1f0f17a9e21 changed: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 438
diff changeset
   474
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResult.st,v 1.40 2012-05-27 10:51:18 cg Exp $'
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   475
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   476
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   477
version_SVN
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   478
    ^ '§Id: TestResult.st 205 2010-09-11 15:23:01Z vranyj1 §'
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   479
! !